Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django管理面板中获取相关模型数据?_Django_Django Models_Django Views_Django Templates_Django Admin - Fatal编程技术网

如何在Django管理面板中获取相关模型数据?

如何在Django管理面板中获取相关模型数据?,django,django-models,django-views,django-templates,django-admin,Django,Django Models,Django Views,Django Templates,Django Admin,我正在开发一个产品基表,我的产品表与信息表相关,这意味着一个产品可以有信息,但当我从管理面板添加产品时,我在提交产品时没有从中获得信息数据,请告诉我如何在django管理面板中的产品添加表单中获取信息表格字段 这是我的`models.py文件 class Product(models.Model): name=models.CharField(max_length=50, blank=True, null=True) type=models.CharField(max_lengt

我正在开发一个产品基表,我的
产品
表与
信息
表相关,这意味着一个产品可以有信息,但当我从管理面板添加产品时,我在提交产品时没有从中获得信息数据,请告诉我如何在django管理面板中的
产品
添加表单中获取
信息
表格字段

这是我的`models.py文件

class Product(models.Model):
    name=models.CharField(max_length=50, blank=True, null=True)
    type=models.CharField(max_length=50, blank=True, null=True)
    def __str__(self):
        return self.name

class Information(models.Model):
    product=models.ForeignKey(Product, default=None, related_name='product_info', on_delete=models.CASCADE)
    title=models.CharField(max_length=50, null=True, blank=True)
    number=models.IntegerField(default=None)

    def __str__(self):
        return self.title
我的“admin.py”文件是这样的

from django.contrib import admin
from customer.models import *
# Register your models here.
admin.site.register(Product)
admin.site.register(Information)

当我点击
添加产品
时,它只在那里显示
名称
类型
,并且我想显示
信息
表中的数据。另外,当我点击
添加产品
时,我想显示所有字段。

将这一行添加到您的管理员:

from django.contrib import admin

class InformationInline(admin.TabularInline):
    model = Information

class productAdmin(admin.ModelAdmin):

    inlines = [InformationInline]

admin.site.register(Product,productAdmin)
并删除以下行:

admin.site.register(Product)

现在重新启动服务器并进入管理员界面,现在您可以查看所有信息表数据并对其进行编辑。

您需要的内容称为
Inline
。阅读这里的更多信息:

当我点击
添加产品时,仍然只获得
产品
表格数据,但我也想从
信息
表格中添加数据…当我点击“添加产品”时,它只显示
名称
类型
。这是唯一的方法。。你一定犯了一些愚蠢的错误。请检查你的型号名称是否以大写字母开头。尝试用ProductAdmin而不是ProductAdmin编辑代码。它工作得很好,但它给了我
添加另一个客户配置文件的机会,我不想添加更多,请检查此屏幕截图
https://prnt.sc/tvtsmm
保持黑色。。别加上它。。它很简单,但我想从那里删除这个字段