我有一個具有屬性(公司名稱......)的客戶類,另一個具有客戶資料。它是一個文字字段,但不顯示為文字字段。我在客戶端類別中使用 models.foreignkey(outraclasse, on_delete=models.cascade)
呼叫它。我做錯了嗎?缺什麼?
編輯: 這些是應用程式的模型和管理員 管理員:
from django.contrib import admin from tenants.models import client # register your models here. class clientadmin(admin.modeladmin): list_display = [ 'company_name', 'company_register_name', 'company_id'] search_fields = [ 'company_name', 'company_register_name', 'company_id'] list_per_page = 10 admin.site.register(client,clientadmin)
型號
from django.db import models from datetime import date class ClientBasicData(models.Model): # client_id = models.ForeignKey(Client, on_delete=models.CASCADE) name_admin_ti = models.CharField(max_length=30, verbose_name = u'Nome do responsavel TI', unique=False) def __str__(self): return f"{self.name_admin_ti}" class Client(models.Model): company_data = models.ForeignKey('ClientBasicData', on_delete=models.CASCADE, verbose_name= u'Dados do cliente', unique=False) company_name = models.CharField(max_length=30, verbose_name = u'Razao social', unique=False) company_register_name = models.CharField(max_length=30, verbose_name = u'Nome da Empresa', unique=True) company_id = models.CharField( max_length=30, verbose_name = u'CNPJ da empresa', unique=True) date_start_company = models.DateField( verbose_name = u'Data de ingresso de cliente', unique=False, default=date.today, null=True) def __str__(self): return f"{self.company_name} - {self.company_register_name} - {self.company_id}" """ class ClienteBasicData(models.Model): client_id = models.ForeignKey(Client, on_delete=models.CASCADE) name_admin_ti = models.CharField(max_length=30, verbose_name = u'Nome do responsabel TI', unique=False) def __str__(self): return f"{self.name_admin_ti}" """
Django Admin 中的預設行為是對另一個模型的參考顯示為下拉方塊。這是有道理的,因為對另一個模型(外鍵)的引用只是一個值,它表示:「另一個表中的哪一行保存與此記錄相關的資料」。
通常沒有機會直接編輯其他表格(其他模型)中的值。
如果您希望相關模型作為可編輯文字欄位顯示在 Django 管理中,您應該查看 Django 管理「內聯」類別。您需要為 ClientBasicData 定義內聯,然後從 ClientAdmin 中引用該資料。
注意:您正在嘗試做的事情看起來您的模型設計可能存在更根本的問題。您可能需要考慮組織這些資料的其他方式(即,真的有理由將「基本資料」放在另一個表格中嗎?)。
以上是Django 中如何讓一個類別繼承另一個類別的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!