在类之间链接django模型属性



如果我有一个带有的django模型

class Comment():
   created = models.ForeignKey(User, on_delete=models.DO_NOTHING, related_name='comment_created')

如何根据"created"引用的用户设置Comment类的属性。

具体地说,我希望用惯用的方式引用(在注释实例中)创建注释的用户是否为"is_staff"。

IMO,以这种方式创建Comment模型类的方法可能会起作用:

class Comment(models.Model):
    # some fields...
    def created_user_is_staff(self):
        return self.created.is_staff()

你可以在一些.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 %}
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

最新更新