如何在django-admin中显示外键的选择?

时间:2016-09-06 11:58:41

标签: python django

我有一个与django-admin面板有关的小问题。 我有2个型号:

from django.db import models

class Subject(models.Model):
    subject = models.CharField(max_length=30, choices=[('P', 'Personal'), ('W', 'Work')])

    def __str__(self):
        return self.subject

class BlogPost(models.Model):
    id = models.AutoField(unique=True, primary_key=True)
    subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
    text = models.TextField(null=False)
    pic = models.ImageField(upload_to='static/img/', default='static/img/no-image.png')
    date = models.DateTimeField()

    def __str__(self):
        return self.subject

但是在管理面板中,每当我尝试创建博客帖子时,下拉菜单都不会显示任何主题的选择。我是否需要编辑管理员渲染功能?

1 个答案:

答案 0 :(得分:2)

顺便说一下,你必须先自己添加主题,这样才能出现在你的外键选择中。你可以得到相同的结果:

class BlogPost(models.Model):
    id = models.AutoField(unique=True, primary_key=True)
    subject = models.CharField(max_length=30, choices=[('P', 'Personal'), ('W', 'Work')])

    def __str__(self):
        return self.subject

您希望ForeignKey用于什么?