Как получить данные связанной модели в Django админке? - PullRequest
0 голосов
/ 07 августа 2020

Я разрабатываю базовую таблицу продукта, и моя таблица product связана с таблицей Informtion, это означает, что продукт может содержать информацию, но когда я добавляю продукт из панели администратора, я не получаю туда информационных данных, когда я отправьте продукт, дайте мне знать, как я могу получить поля таблицы information в product форме добавления в 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)

когда я нажимаю на add product, он отображается только там name, type и я хочу отобразить данные из таблицы information также, мне нужны все поля, когда я нажимаю add product

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Добавьте эту строку в свой админ:

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)

Теперь перезапустите сервер и go в админке, и теперь вы можете видеть все данные информационной таблицы и отредактируйте ее.

0 голосов
/ 07 августа 2020

То, что вы хотите, называется Inline. Подробнее здесь: Django Admin Inline

...