我创建了一个唯一的令牌,该令牌链接到属性,当用户转到该链接时,有一个按钮可以验证是否将加入该属性。
现在,我对如何完成代码有些困惑。
Models.py:
class Property(models.Model):
name = models.CharField(max_length=250, verbose_name="Nom de l'établissement")
contributors = models.ManyToManyField(User, verbose_name="Liste des collaborateurs autorisés")
token = models.CharField(max_length=500, verbose_name="Token")
payday = models.CharField(max_length=500, verbose_name="Jour de paye", null=True, blank=True)
planning = models.ImageField('Planning', null=True, blank=True )
我的views.py
def join_property(request, property_id):
property = Property.objects.get(pk=property_id)
contributors # now this is where I cannot figured out ...
contributors.save()
所以我理解了逻辑,但没有完全理解代码的中间部分。
感谢您的帮助。
答案 0 :(得分:1)
您需要使用多对多关系上的handleClickOutside(e) {
if (this.state.isActive && this.wrapperRef && !this.wrapperRef.contains(e.target) && !this.node.contains(e.target)) {
this.setState({isActive:false})
}
}
<div ref={node => this.node = node} className={'col-md-offset-1 col-sm-6 menu__mobile' + (this.state.isActive ? ' open' : '')}>
方法。它允许您添加关系(并自动保存关系)。
add()
阅读所有相关内容here
别忘了:def join_property(request, property_id):
property = Property.objects.get(pk=property_id)
property.contributors.add(request.user)
... # don't forget to return something! (e.g. redirect or confirmation page)
不是关系提供者列表,它是一个关系管理器(准确地说是contributors
),类似于ManyRelatedManager
。因此,要获取所有贡献者,您需要objects
。因此,您还拥有方法property.contributors.all()
和add()
。