#python #django
#python #django
Вопрос:
У меня есть эта форма:
class TourForm(ModelForm):
class Meta:
model = Tour
Я хочу создать страницу редактирования, поэтому я отправляю tour_id на страницу и получаю tour с этим tour_id, теперь я хочу заполнить эту форму экземпляром tour, который у меня есть. что-то вроде этого в views.py:
tour=Tour.objects.get(pk=tour_id)
tform = TourForm(request.POST, request.FILES,instance=tour)
любая помощь?
Обновить:
это модели:
class Gallery(models.Model):
HeadImage = models.ImageField(upload_to="gallery")
class Image(models.Model):
Image = models.ImageField(upload_to="gallery")
Gallery = models.ForeignKey(Gallery, related_name='images')
class Tour(models.Model):
Name=models.CharField(max_length=100)
Count=models.SmallIntegerField()
PriceUnit=models.ForeignKey(PriceUnit)
Price=models.CharField(max_length=12)
Description=models.TextField()
ActionDate=models.DateTimeField(auto_now=True,editable=False)
ActionUser=models.ForeignKey(User,editable=False)
StatusType=models.ForeignKey(StatusType)
Gallery = models.OneToOneField(Gallery,editable=False)
поля, которые являются foreigkey, такие как PriceUnit и StatusType, не заполняют форму.
заранее спасибо
Комментарии:
1. извините! Теперь я обновил вопрос.
Ответ №1:
Я думаю, что вам не следует передавать запрос экземпляра nad.Публикуйте одновременно. Попробуйте сделать что-то вроде этого:
if request.method == "POST":
tform = TourForm(request.POST, request.FILES)
else
tform = TourForm(instance=tour)
Комментарии:
1. Какие-либо причины не передавать их вместе?
2. @DrTyrsa обычно потому, что это запускает проверку формы.
Form({})
является недопустимой формой и будет отображать ошибки.