我有一个User模型和PromoCode模型。在后者中,我想列出已经输入和匹配我在管理视图中放置的一个promocodes的用户。
我应该在PromoCode模型中使用哪种字段类型来创建用户列表,我可以在视图中添加更多用户?
答案 0 :(得分:1)
你想要一个ManyToManyField
。
在模型中:
class PromoCode(models.Model):
# Assuming you have other fields here, followed by:
users = models.ManyToManyField(User, related_name="promocodes")
然后在视图中,您可以执行以下操作:
if promocode:
pc = PromoCode.objects.get(code=promocode) # Get the PromoCode object
pc.users.add(user) # Add the M2M relationship
...或(因为你使用了related_name
)你可以反过来做到这一点:
if promocode:
pc = PromoCode.objects.get(code=promocode) # Get the PromoCode object
user.promocodes.add(pc) # Add the M2M relationship
答案 1 :(得分:0)
您有很多PromoCode
个User
,因此您需要ManyToManyField
。