Django 1.11の使用ForeignKeyから継承するカスタムモデルフィールドを作成したいと思います。私は主にForeignKeyのフィールドと同じであるモデルフィールドを作りたいのですが、その代わり定義されたモデルクラスへのカスタムDjango ForeignKeyフィールド
class Car(models.Model):
manufacturer = models.ForeignKey(Company)
が、1)が使用しています。通常のForeignKeyで
は、次のような何かを行うことができますformfieldの異なるデフォルトウィジェット、2)モデル名を位置パラメータとして配置する必要はありません。# myapp/models.py
from otherapp.fields import ManufacturerField
class Car(models.Model):
manufacturer = ManufacturerField()
は残念ながら、私は「当社」モデルがミックスに挿入を取得する子クラスののinitメソッドをオーバーライド苦労しています。ここでは(すべてではまだウィジェット上で動作していない)私がこれまで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クラスを設定して、これを特定の1つのモデルに対する外部キーにしたいと指定できますか?そうでない場合は、私のモデルをフィードする方法を正しく傍受する方法についてのアイデアはありますか?