2016-05-07 16 views
0

私はモデルクラスがあります。DjangoのModelAdminに条件フィールドを追加するには?

class Product(models.Model): 
    category = models.ForeignKey(Category) 
    name = models.CharField(max_length=90) 
    ... 
class Category(models.Model): 
    name = models.CharField(max_length=90) 
    description = models.CharField(max_length=2000) 
    properies = models.ManyToManyField(Property) 
    ... 
#property type, ex: 'weight', 'length' 
class Property(models.Model): 
    ... 
#value for every product 
class PropertyValue(models.Model): 
    product = models.ForeignKey(Product) 
    property = models.ForeignKey(Property) 
    ... 

をし、私が選択したカテゴリに依存しPropertyValueをフォームを持つ、カスタム製品/追加/ページを必要としています。 ModelAdminクラスのcategory_idでPropertyValueリストを取得するメソッドを作成しましたが、選択したカテゴリが変更されたときにランタイムに呼び出す方法はありますか?それはdjangoで可能ですか?

+0

管理クラスのrelevevntセクションを追加するようにしてください – e4c5

答えて

0

あなたが実行時に言ったときに、どういう意味ですか?これらのカテゴリが変更されると、追加ページを読み込むたびに新しいレコードが表示されます。

yorフォームクラスをやりましたか?

class PropertyValueForm(forms.Form): 
    product = forms.ModelChoiceField(queryset=Product.objects.all()) 
    property = forms.ModelChoiceField(queryset=Property.objects.all()) 

または::の種類

def getProduct(): 
    # DO YOUR STUFF 
    return product_list 

class PropertyValueForm(forms.Form): 
    product = forms.ChoiceField(choices=get_my_choices()) 
関連する問題