You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模型Admin面板未显示外键下拉选择框问题求助

问题原因与解决方案

核心问题:外键字段定义后的多余逗号

你在user和product外键字段的末尾加了逗号,这会让Python将这两个字段解析成元组而非有效的Django模型字段,导致Admin面板无法识别并展示它们。

次要问题:DateTimeField未实例化

createdAt = models.DateTimeField缺少实例化括号,需补充括号才能正常工作,建议添加auto_now_add=True参数自动设置评论创建时间。


修正后的完整模型代码

from django.db import models
from django.contrib.auth.models import User

class Reviews(models.Model):
    user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)
    name = models.CharField(max_length=350, null=True, blank=True)
    rating = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True, default=0)
    comment = models.TextField(null=True, blank=True)
    createdAt = models.DateTimeField(auto_now_add=True)
    _id = models.AutoField(primary_key=True, editable=False)

    def __str__(self):
        return str(self.rating)

补充:确保Admin模型注册正确

在应用的admin.py中注册Reviews模型,否则Admin面板不会显示该模型的管理入口:

from django.contrib import admin
from .models import Reviews

admin.site.register(Reviews)

完成上述修改后,重启服务器进入Admin面板,user和product字段就会以下拉选择框的形式正常展示。

内容的提问来源于stack exchange,提问作者Carter James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:16:07