Django的.创建对象ManyToManyField错误 [英] Django. Create object ManyToManyField error
本文介绍了Django的.创建对象ManyToManyField错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为我的模型编写测试.
I am trying to write tests for my models.
我尝试创建这样的对象:
I try to create object like this:
GiftEn.objects.create(gift_id=1,
name="GiftEn",
description="GiftEn description",
short_description="GiftEn short description",
categories='1',
partner='1',
addresses=2)
但是我得到这个错误:
File "/home/stasman/giver/giver/giver/gift/test_gift.py", line 29, in setUp
addresses=2)
ValueError: "<GiftEn: GiftEn, GiftEn description, GiftEn short description>" needs to have a value for field "giften" before this many-to-many relationship can be used.
这是我的模特:
class GiftEn(models.Model):
gift = models.ForeignKey(Private, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
description = models.TextField(max_length=1000)
short_description = models.TextField(max_length=500)
categories = models.ManyToManyField(CategoryEn,)
partner= models.ManyToManyField(Partner,)
addresses= models.ManyToManyField(AddressWhereTakeGift,)
def __str__(self):
return '%s, %s, %s' % (self.name, self.description, self.short_description)
class Meta:
ordering = ('-gift__id',)
如何为此模型创建对象?
How to create object for this model?
推荐答案
通过错误描述,您需要在添加many2many之前创建(保存) GiftEn
对象:
By error description you need create (save) GiftEn
object before add many2many:
giften = GiftEn.objects.create(
gift_id=1,
name="GiftEn",
description="GiftEn description",
short_description="GiftEn short description")
giften.categories.add('1')
giften.partner.add('1')
giften.addresses.add(2)
这篇关于Django的.创建对象ManyToManyField错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文