Допустим, у меня есть модель, и у нее есть внешний ключ к другой.
class ModelA(models.Model):
field = models.CharField(max_length=100)
class ModelB(models.Model):
model_a = models.ForeignKey(ModelA)
Чем я получил эту форму:
class FormB(models.ModelForm):
model_a = forms.CharField(required=True)
def clean(self):
model_a = self.cleaned_data["model_a"]
try:
v = ModelA.objects.get(model_a=model_a)
self.cleaned_data["model_a"] = v
except Exception:
self._errors['model_a'] = ErrorList(["ModelA not found"])
return self.cleaned_data
Теперь, когда бы я ни вводил значение char в FormB, он будет искать его в ModelA и
вернуть очищенные данные.
Когда я использую форму для перечисления ранее существующего экземпляра, он показывает идентификатор, а не значение.
def my_view(request):
instance = ModelB.objects.get()[0]
form = FormB(instance=instance)
return render_to_response("bla.html", {"form" : form})
Кто-нибудь знает, как я мог бы показать значение в этом CharField, когда я передаю экземпляр?
Спасибо,
Нико