class CommentForm(forms.ModelForm): categories = forms.ModelChoiceField(queryset = Category.objects.all(), required = False) class CommentAdmin(admin.ModelAdmin): form = CommentForm
Zapisuję komentarz, do bazy trafia informacja jakiej kategorii dotyczy. Jak do cholery przy edycji tego komentarza mogę wyciągnąć tą informację. Wiem, że do pola categories muszę przypisać wartość initial i wszystko pójdzie gładko, ale nie mogę tego zrobić w CommentForm przy inicjalizacji tego pola, bo tam jeszcze nie wiem jaki jest id kategorii. Próbuję więc zrobić to w CommentAdminie przesłaniając __init__:
def __init__(self, *args, **kwargs): #tak self.form.initial = {'categories' : 1} #albo tak self.form.categories.initial = {'categories' : 1} super(CommentAdmin, self).__init__(*args, **kwargs)
W pierwszym wypadku nic się nie zmienia, w drugim dostaję błąd type object 'CommentForm' has no attribute 'categories'. Jak więc w takim razie mogę osiągnąć cel?
Zachciało mi się pythona k***a...