我正在尝试使用纯django重新创建Groupon,并且在以下方面遇到了麻烦。这是我的主意
我创建了一个包含3列的模型(CampaignID,CustomerID和默认值为False的布尔值字段)
class Customer_save(models.Model):
Customer_ID = models.ManyToManyField(Customer)
Campaign_ID = models.ManyToManyField(Campaigns)
Redeemed = models.BooleanField(default = False) #False denotes that it hasnt been redeemed yet
def __str__(self):
return self.Customer_ID.username,self.Campaign_ID.Campaign_desc
我正在尝试创建一个伪造的行,以测试是否所有内容都正确地放入表中。但是我遇到了错误。你能告诉我我要去哪里了吗?
Campaign_ID = '10001'
Customer_ID = 'C12345'
Customer_save.add(Customer_ID = Customer_ID,Campaign_ID = Campaign_ID)
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: type object 'Customer_wallet' has no attribute 'add'
>>> New = Customer_save(Customer_ID = Customer_ID, Campaign_ID `=Campaign_ID)`
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/kj/Desktop/projects/lib/python3.4/site-packages/django/db/models/base.py", line 480, in __init__
raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
>>> new = Customer_save.Customer_ID.create(Customer_ID = Customer_ID)
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'ReverseManyRelatedObjectsDescriptor' object has no attribute 'create'
TypeError: 'Customer_ID' is an invalid keyword argument for this function
您需要先创建相关记录,然后再将它们分配给多对多字段:
customer = Customer(...)
customer.save()
campaign = Campaigns(...)
campaign.save()
customer_save = Customer_save(Redeemed=...)
customer_save.save()
customer_save.Customer_ID.add(customer)
customer_save.Campaign_ID.add(campaign)
PS。我建议您为您的字段和模型选择更好的名称,并遵循正式的样式指南。它们有点误导,并且通常这样的名称会引起混乱,不必担心其他人很难遵循您的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句