Есть модель Device
, к которой привязана модель User
через связь "многие-ко-многим":
class Device(models.Model):
user = models.ManyToManyField(User, null=True, blank=True)
guid = models.CharField(max_length=128, db_index=True)
Есть непреодолимое желание работать с этой моделью, используя стандартный метод get_or_create()
.
Пробуем:
>>> from app.models import Device
>>> Device.objects.get_or_create(guid='DEADBEEF', user=None)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/rad/devel/.../env/src/django/django/db/models/manager.py", line 135, in get_or_create
return self.get_query_set().get_or_create(**kwargs)
File "/home/rad/devel/.../env/src/django/django/db/models/query.py", line 383, in get_or_create
obj = self.model(**params)
File "/home/rad/devel/.../env/src/django/django/db/models/base.py", line 364, in __init__
raise TypeError("'%s' is an invalid keyword argument for this function" % kwargs.keys()[0])
TypeError: 'user' is an invalid keyword argument for this function
Как же быть?