如果我有一个带有
的django模型class Comment():
created = models.ForeignKey(User, on_delete=models.DO_NOTHING, related_name='comment_created')
如何根据“created”引用的用户设置Comment类的属性。
具体而言,我希望通过惯用方式引用(在评论实例中)是否创建评论的用户“is_staff”。
答案 0 :(得分:1)
class Comment(models.Model):
created = models.ForeignKey(User, on_delete=models.DO_NOTHING, related_name='comment_created')
@property
def creator_is_staff(self):
return self.created.is_staff
my_user = User.objects.get() # Get some user
my_comment = Comment(created=my_user)
my_comment.creator_is_staff # Returns either True or False
答案 1 :(得分:1)
IMO,以这种方式创建Comment模型类的方法可能有效:
class Comment(models.Model):
# some fields...
def created_user_is_staff(self):
return self.created.is_staff()
你可以在some.py
中使用这个方法# comment is an instance of the Comment class
if comment.created_user_is_staff():
# do something...
或在模板中
{% if comment.created_user_is_staff %}
render something...
{% endif %}