2012-06-20 19 views
6

Mam model dla wpisu na blogu, w którym właściciel wpisu jest obcym kluczem dla użytkownika. W tym modelu każdy użytkownik może posiadać wpis na blogu. Chciałbym to zmienić, aby tylko użytkownicy z określonej grupy, zwani "blogerami", mogli posiadać obiekt blogu. Idealnie powinien pojawić się również w administratorze, mam na myśli w blogu post admin w tym momencie menu "właściciel" zawiera listę wszystkich użytkowników, powinno tylko wymienić te w grupie "blogerów". Jak to zrobić z Django 1.3?Django, filtrowanie użytkowników według grup w modelu klucza obcego

Odpowiedz

12

Zastosowanie limit_choices_to paramether w definicji ForeignKey tak:

author = models.ForeignKey("auth.User", limit_choices_to={'groups__name': "bloggers"}) 
+0

Jest to bardzo pomocne dziękuję. Ale co, jeśli chcę ograniczyć moje wybory do wielu grup, a nie tylko jednego? Na przykład chciałbym wybrać użytkowników w grupie "blogerów" lub "grupach widzów". – jgmao

+3

Proste. autor = model.ForeignKey ("auth.User", limit_choices_to = {'groups__name__in': ["blogerzy", "widzowie"]}) –

+0

Perfect !!! Szukałem tego od wielu godzin !! –

Powiązane problemy