这是我的模特
class MyUser(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
items = models.ManyToManyField(Item, related_name='myuser')
当我写下面的代码
MyUser.items.add(item1)
我想知道是否添加或复制了它
简而言之,myuser.items
将会是a set
,这意味着即使我们强迫这样做也不会创建任何重复的条目
。
In [1]: from django.contrib.auth.models import User
In [2]: item = Item.objects.create(field_name="some_value")
In [3]: usr = User.objects.get(id=1)
In [4]: myuser = MyUser.objects.create(user=usr)
In [5]: myuser.items.count()
Out[5]: 0
In [6]: myuser.items.add(item)
In [7]: myuser.save()
In [8]: myuser.items.count()
Out[8]: 1
In [9]: myuser.items.add(item)
In [10]: myuser.save()
In [11]: myuser.items.count()
Out[11]: 1
在这里您可以看到,count
当我们item
一次又一次地添加同一实例时,并没有增加
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句