>  기사  >  백엔드 개발  >  Django에서 한 클래스가 다른 클래스의 요소를 상속받게 만드는 방법은 무엇입니까?

Django에서 한 클래스가 다른 클래스의 요소를 상속받게 만드는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-09 22:09:03383검색

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 관리자에 편집 가능한 텍스트 필드로 표시하려면 Django 관리자 "인라인" 클래스를 살펴봐야 합니다. ClientBasicData를 인라인으로 정의한 다음 ClientAdmin에서 해당 데이터를 참조해야 합니다.

참고: 귀하가 하려는 작업은 모델 설계에 더 근본적인 문제가 있는 것처럼 보입니다. 이 데이터를 구성하는 다른 방법에 대해 생각해 볼 수도 있습니다(즉, "기본 데이터"를 다른 테이블에 넣을 이유가 정말로 있습니까?).

위 내용은 Django에서 한 클래스가 다른 클래스의 요소를 상속받게 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제