Простой вопрос о сохранении формы / модели Django

Я хочу установить для BooleanField inuse значение True, когда я сохраняю ModelForm (я использую форму за пределами области администратора ), и я не уверен, как это сделать.

Модели:

class Location(models.Model):
    place = models.CharField(max_length=100)
    inuse = models.BooleanField()

class Booking(models.Model):
    name = models.CharField(max_length=100, verbose_name="Your name*:")
    place = models.ManyToManyField(Location, blank=True, null=True)

Формы:

class BookingForm(ModelForm):

    class Meta:
        model = Booking

        def save(self, commit=True):
            booking = super(BookingForm, self).save(commit=False)
            if commit:
                booking.save()
                self.save_m2m()
                for location in booking.place.all():
                    location.inuse = True
                    print location #nothing prints
                    location.save()

Просмотр:

def booking(request):
    form = BookingForm()
    if request.method == 'POST':
        form = BookingForm(request.POST)
        if form.is_valid():
            form.save()
        else:
            form = form

        return render_to_response('bookingform.html', {
                'form': form,
            })

Обновлено до последней версии (см. ответ Маноджа Говиндана ). Он по-прежнему не обновляет inuse до True при отправке / сохранении.

7
задан Community 23 May 2017 в 11:44
поделиться