Django で、あるクラスが別のクラスの要素を継承させるにはどうすればよいですか?

WBOY
リリース: 2024-02-09 22:09:03
転載
382 人が閲覧しました

Django 中如何让一个类继承另一个类的元素?

質問の内容

属性 (会社名...) を含む顧客クラスと、顧客データを含む別のクラスがあります。テキストフィールドですが、テキストフィールドとして表示されません。クライアント クラスで 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)
ログイン後にコピー

正解

Django Admin のデフォルトの動作では、別のモデルへの参照がドロップダウン ボックスとして表示されます。別のモデル (外部キー) への参照は、「別のテーブルのどの行がこのレコードに関連するデータを保持しているか」を示す値にすぎないため、これは理にかなっています。


通常、他のテーブル (他のモデル) の値を直接編集する機会はありません。

関連モデルを編集可能なテキスト フィールドとして Django admin に表示したい場合は、Django admin の「インライン」クラスを確認する必要があります。 ClientBasicData をインラインで定義し、ClientAdmin からそのデータを参照する必要があります。

注: あなたがやろうとしていることは、モデル設計にもっと根本的な問題がある可能性があるようです。このデータを整理する別の方法を考えてみるとよいでしょう (つまり、「基本データ」を別のテーブルに置く理由は本当にあるのでしょうか?)。

以上がDjango で、あるクラスが別のクラスの要素を継承させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!