Django 1.11 사용 ForeignKey에서 상속 한 사용자 정의 모델 필드를 만들고 싶습니다. 내가 주로 외래 키 필드와 동일한 모델 필드를하고 싶습니다, 대신정의 된 모델 클래스에 대한 사용자 정의 Django ForeignKey 필드
class Car(models.Model):
manufacturer = models.ForeignKey(Company)
하지만, 1)을 사용 : 일반 외래 키와
, 당신은 다음과 같은 일을 할 수 있습니다 formfield에 대한 다른 기본 위젯 및 2) 모델 이름을 위치 매개 변수로 지정할 필요가 없습니다.# myapp/models.py
from otherapp.fields import ManufacturerField
class Car(models.Model):
manufacturer = ManufacturerField()
불행하게도, 내가 힘든 시간을 자식 클래스의 초기화 메서드를 재정의하는 데 문제가하는 내 "회사"모델은 혼합에 삽입하세요. 여기에 (모든 아직 위젯에 작동하지 않는) 내가 지금까지 modelfield의 방법으로 무슨이다 : 나는이 작업을 수행 할 때
# otherapp/fields.py
from otherapp.models import Company
class ManufacturerField(models.ForeignKey):
def __init__(self, *args, **kwargs):
return super(ContentField, self).__init__(Company, **kwargs)
, 내가 얻을 :
TypeError: Couldn't reconstruct field manufacturer on myapp.Car: __init__() got multiple values for argument 'to'
속성이 있는가 이 특정 모델에 대한 외래 키가되도록 지정하려면 사용자 지정 modelfield 클래스를 설정할 수 있습니까? 그렇지 않다면, 초기화 방법을 제대로 모델링 할 수있는 방법에 대한 아이디어가 있습니까?