2014-12-08 33 views
2

我有這樣的問題:我想限制嵌入式模型admin中的外鍵選擇,但是我想根據此嵌入對象中指定的某些值來執行此操作。以InlineModelAdmin形式訪問嵌入式對象

如何在InlineModelAdmin方法(特別是在formfield_for_foreignkey(self, db_field, request, **kwargs))內訪問內聯對象(不是父對象)?

回答

0

這應該適合你。使用適當的值更改「YourModelAdmin」,「target_field」,「your_custom_condition」和「...」。

def formfield_for_foreignkey(self, db_field, request=None, **kwargs): 
    field = super(YourModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) 
    if db_field.name == 'target_field': 
     if request and your_custom_condition: 
      field.queryset = field.queryset.filter(...) 
    return field 
+0

我的問題是更進一步:在'formfield_for_foreigkey'和適當的'db_field'內我想根據**當前內聯模型對象**過濾可能的選項。那麼我怎樣才能訪問這個對象呢? – andrzejdoro 2014-12-27 17:33:47

+0

@andrzejdoro你能想出來嗎?我有類似的問題。你的解決方案可能會幫助我謝謝。 – ac11 2015-10-16 16:30:41

+0

不幸的是,我沒有找到解決辦法。恐怕不可能訪問這個值。但是,如果你想出來,請讓我知道。 – andrzejdoro 2015-10-17 21:18:18