これはDjangoのクリスピーなフォームを使用しているときに発生している問題です。続きクエリセットから取得する外部キーで致命的なフォームエラーが発生しました
は今、これは私がサクサク-フォームを使用する前に使用してきた私のフォームであるモデルフィールド(のみ必要なコードを示す)」
class Product(models.Model):
name=models.CharField(max_length =200)
unit = models.ForeignKey(Unit,related_name='product_master_master_unit')
manufacturer=models.ForeignKey(Manufacturer,related_name='product_master_master_manufacturer')
tenant=models.ForeignKey(Tenant,related_name='product_master_user_tenant')
objects = TenantManager()
です。私はそれらのフィールドを照会してきました、現在のテナントに特有れている以下に従って行われていること:。
class ProductForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
self.tenant=kwargs.pop('tenant',None)
super (ProductForm,self).__init__(*args,**kwargs) # populates the post
self.fields['unit'].queryset = Unit.objects.for_tenant(self.tenant).all()
self.fields['manufacturer'].queryset = Manufacturer.objects.for_tenant(self.tenant).all()
class Meta:
model=Product
exclude =('slug', 'tenant')
私はクリスピーフォームを使用しない場合、これは正常に動作しますが、クリスピーフォームを使用して私が手にエラーがあることが外部キーです。特定のテナントに対して照会されているユニットと製造者に関連するフィールドはshowiではありません任意のオプションをクリスピーの形で使用します。私が実際にそれを鮮明な形で示すことができる方法はありますか、または私はこのクリスピーな形を完全に放棄しなければなりませんか?
ちょっとお手伝いをしたいのですが、動的選択を許可していれば、私はdjangoの "ForeignKey.limit_choices_to"でできることを自分のフォームでやっています。どんな助けでも大歓迎です。