diff --git a/abonapp/admin.py b/abonapp/admin.py index bd5771b..64a0547 100644 --- a/abonapp/admin.py +++ b/abonapp/admin.py @@ -15,3 +15,4 @@ admin.site.register(models.ExtraFieldsModel) admin.site.register(models.AllPayLog) admin.site.register(models.Opt82) admin.site.register(models.PassportInfo) +admin.site.register(models.AbonDevice) 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 eb8ea64..1b1250f 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