Skip to main content
 首页 » 编程设计

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

2024年10月17日34dyllove98

我有一个与 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 

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

请您参考如下方法:

顺便说一下,您必须先添加主题本身,这样它们才能出现在您的外键选择中。您可以通过以下方式获得相同的结果:

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 

你想要外键做什么?