Я хочу установить для 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 при отправке / сохранении.
Кратчайший путь (1) :: RV3280-RV2502C
Кратчайший путь (2) :: RV3280-RV2501C-RV1263
Кратчайший путь (2) :: RV2363-Rv3285 -...
У меня есть файл журнала, содержащий следующие данные:
Кратчайший путь (2) :: RV3280-RV0973C-RV2888C
Кратчайший путь (1) :: RV3280-RV2502C
Кратчайший путь (2) :: RV3280-RV2501C-RV1263
Кратчайший путь (2) :: RV2363-Rv3285-RV3280
Из каждой строки мне требуется номер в скобках, имя первого белка (RV3280 в первой строке) и имя последнего белка (RV2888C в первая строка).
Я написал код для этого с помощью объекта Scanner
.
try{
Scanner s = new Scanner(new File(args[0]));
while (s.hasNextLine()) {
s.findInLine("Shortest path\\((\\d+)\\)::(\\w+).*-(\\w+)"); // at each line, look for this pattern
MatchResult result = s.match(); // results from
for (int i=1; i<=result.groupCount(); i++) {
System.out.println(result.group(i));
}
s.nextLine(); // line no. 29
}
s.close();
}
catch (FileNotFoundException e) {
System.out.print("cannot find file");
}
Я получаю желаемые результаты, но также получаю сообщение об ошибке. Вывод, который я получаю для указанного выше входного файла:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1516)
at nearnessindex.Main.main(Main.java:29)
2
RV3280
RV2888C
1
RV3280
RV2502C
2
RV3280
RV1263
2
RV2363
RV3280
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Почему возникает эта ошибка и как ее можно исправить?