From e7a2da49de801e11c0bf028982b2306a0e02e3c6 Mon Sep 17 00:00:00 2001 From: bashmak Date: Tue, 18 Apr 2017 12:41:32 +0300 Subject: [PATCH] =?UTF-8?q?FIXBUG:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B0=D0=B1=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abonapp/migrations/0018_auto_20170418_1236.py | 26 +++++++++++++++++++ abonapp/models.py | 6 ++--- abonapp/views.py | 6 ++--- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 abonapp/migrations/0018_auto_20170418_1236.py diff --git a/abonapp/migrations/0018_auto_20170418_1236.py b/abonapp/migrations/0018_auto_20170418_1236.py new file mode 100644 index 0000000..175a62b --- /dev/null +++ b/abonapp/migrations/0018_auto_20170418_1236.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-04-18 09:36 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('abonapp', '0017_auto_20170416_1029'), + ] + + operations = [ + migrations.AlterField( + model_name='abondevice', + name='abon', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abonapp.Abon'), + ), + migrations.AlterField( + model_name='abondevice', + name='device', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='devapp.Device'), + ), + ] diff --git a/abonapp/models.py b/abonapp/models.py index c50a3b8..bfcba80 100644 --- a/abonapp/models.py +++ b/abonapp/models.py @@ -331,15 +331,15 @@ class Abon(UserProfile): class AbonDevice(models.Model): - abon = models.OneToOneField(Abon) - device = models.OneToOneField('devapp.Device') + abon = models.ForeignKey(Abon) + device = models.ForeignKey('devapp.Device') def __str__(self): return "%s - %s" % (self.abon, self.device) class Meta: db_table = 'abon_device' - unique_together = (('abon', 'device'),) + unique_together = ('abon', 'device') class PassportInfo(models.Model): diff --git a/abonapp/views.py b/abonapp/views.py index 6e85a43..f27f387 100644 --- a/abonapp/views.py +++ b/abonapp/views.py @@ -660,12 +660,10 @@ def dev(request, gid, uid): dev = Device.objects.get(pk=request.POST.get('dev')) abon = models.Abon.objects.get(pk=uid) try: - abdev = models.AbonDevice.objects.get(device=dev) - abdev.abon = abon - abdev.save(update_fields=['abon']) + models.AbonDevice.objects.get(device=dev, abon=abon) except models.AbonDevice.DoesNotExist: models.AbonDevice.objects.create(abon=abon, device=dev) - messages.success(request, _('Device has successfully attached')) + messages.success(request, _('Device has successfully attached')) return redirect('abonapp:abon_home', gid=gid, uid=uid) else: abon_dev = models.AbonDevice.objects.get(abon=uid).device