Пользовательская форма в Django показывает идентификаторы вместо строки
Ребята! У меня проблемы с формами django. Те, что по умолчанию, представляют модели, как и ожидалось (возвращая значения __ str __). Однако, моя пользовательская форма (Event_form_for_Admin) показывает id вместо string в панели администратора и на сайте. Что я упускаю?
models.py
class Position(models.Model):
name = models.CharField(max_length=800)
level = models.CharField(max_length=50)
def __str__(self) -> str:
return f'{self.level} {self.name}'
class Person(models.Model):
name = models.CharField(max_length=300)
def __str__(self) -> str:
return self.name
class Event(models.Model):
person = models.ForeignKey(Person, on_delete=models.RESTRICT)
position = models.ForeignKey(Position, on_delete=models.RESTRICT)
def __str__(self) -> str:
return f'{self.action} {self.position}'
forms.py
class Event_form_for_Admin(forms.ModelForm):
person = forms.CharField(widget=forms.TextInput, label='Name')
position = forms.CharField(widget=forms.TextInput, label='Position')
class Meta:
model = Event
fields = ['person','position']
вывод на сайте, а также в панели администратора:
Удалите свои пользовательские поля из пользовательской формы. Позвольте Django сделать эту работу :)
class Event_form_for_Admin(forms.ModelForm):
class Meta:
model = Event
fields = ['person','position']
