簡體   English   中英

在類之間鏈接Django模型屬性

[英]Link django model attributes between classes

如果我有一個Django模型

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

如何基於“創建的”引用的用戶設置Comment類的屬性。

具體來說,我想以慣用的方式(在注釋實例內部)引用創建注釋的用戶“ is_staff”。

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

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 %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM