2011-09-16 53 views
0

我有2種型號限制條目:在MYAPP/Models.py如何使用ForeignKey的

class Foo(models.Model): 
    place = models.CharField(max_length=200) 
    foo_admin = models.ForeignKey(User, limit_choices_to={'is_staff': True}) 


class Fighter(models.Model): 
    foo = models.ForeignKey(Foo,limit_choices_to={'foo_admin': currentuser}) 

有沒有辦法讓「currentuser」或(用戶名)和限制ForeignKey的選擇呢? 即僅當'currentuser'等於Foo中保存的foo_admin時,Fighter纔會顯示foo。

+0

限制如何?到一定數量? – WTK

+0

將選擇限制爲一個用戶(即當前用戶)。希望我清楚。 – vnayak01

回答

0

在Model中做這樣的事情是不可能的。你需要在視圖中定製過濾器,像這樣的.filter(foo__foo_admin = reguest.user)。而且在管理界面上做的更難,因爲你需要通過這樣的方法來檢索當前用戶:

class Example(admin.ModelAdmin): 

def get_form(self, request, obj=None, **kwargs): 
    form = super(Example, self).get_form(request, obj, **kwargs) 
    form.current_user = request.user 
    return form 
相關問題