通过单击链接将用户添加到模型

时间:2019-03-22 14:30:50

标签: python django django-models django-views

我创建了一个唯一的令牌,该令牌链接到属性,当用户转到该链接时,有一个按钮可以验证是否将加入该属性。

现在,我对如何完成代码有些困惑。

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()

所以我理解了逻辑,但没有完全理解代码的中间部分。

感谢您的帮助。

1 个答案:

答案 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()