2016-05-18 1 views
0

Если у меня есть модель Django сLink Джанго модель атрибуты между классами

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

Как установить атрибут класса Комментарий на основе пользователя, на которую ссылается «создано».

Чтобы быть конкретным, мне нужен идиоматический способ ссылки (внутри экземпляра комментария) независимо от того, создал ли пользователь комментарий «is_staff».

ответ

1

ИМО, создавая метод Комментарий класса модели таким образом, может работать:

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 %} 
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 
Смежные вопросы