如何在django-admin中显示Foreign Key的选择? [英] How to display Foreign Key's choices in django-admin?

查看:572
本文介绍了如何在django-admin中显示Foreign Key的选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有与django-admin面板有关的小问题。
我有两个模型:

I have small problem related to django-admin panel. I have 2 models:

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

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

But in admin panel whenever I try to create blog post, dropdown menu doesn't show any of subject's choices. Do I need to edit admin render function ?

推荐答案

顺便说一句,你必须先添加主题,他们可以出现在您的外键选择中。您可以通过以下方式获得相同的结果:

By the way you have done it you have to first add the subjects themselves so they can appear in your foreign key choices. you could have the same results by:

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吗?

What do you want the ForeignKey for?

这篇关于如何在django-admin中显示Foreign Key的选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆