Mooris
@Mooris

Как вывести данные в list_display из другой таблицы?

Здравствуйте, нужна ваша помощь. Допустим есть данные модели
models.py
class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def was_published_recently(self):
        now = timezone.now()
        return now - datetime.timedelta(days=1) <= self.pub_date <= now
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    was_published_recently.short_description = 'Published recently?'

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

необходимо вывести was_published_recently в классе class Choice(admin.ModelAdmin):
admin.py
class QuestionAdmin(admin.ModelAdmin):
    list_display = ('question_text', 'pub_date', 'was_published_recently')

class Choice(admin.ModelAdmin):
    list_display = ('question, 'choice_text', 'votes')
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
bergsoft
@bergsoft
Web development using the framework Django/Python
'question__was_published_recently'
если нет то просто определите в метод его используйте имя

def get_was_published_recently(self, obj):
        if obj.question:
            return obj.question.was_published_recently
        return '-'
    get_was_published_recently.short_description = (_('published recently'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы