Я не знаю, правильно ли я подхожу к проблеме. Предполагаемый результат - иметь форму, отображающую только name
и description
. Как только пользователь отправляет форму, я хочу добавить текущего пользователя как owner
и проверить, есть ли уже запись с такими же name
и user
. Если есть, я хочу вернуть форму с ошибками. Если нет, я хочу сохранить Status
.
Моя модель:
class Status(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(blank=True)
owner = models.ForeignKey(User)
active = models.BooleanField(default=True)
class Meta:
unique_together = ('name','owner')
My View:
def settings_status(request):
status_form = StatusForm()
if request.method == 'POST':
status_form = StatusForm(request.POST)
if status_form.is_valid():
new_status = Status()
new_status.name = status_form.cleaned_data['name']
new_status.description = status_form.cleaned_data['description']
new_status.owner = request.user
new_status.save()
return render_to_response('base/settings_status.html',{
'status_form' : status_form,
}, context_instance=RequestContext(request))
Я пробовал множество вещей, но продолжаю сталкиваться с проблемой, что, если я добавлю owner
к объекту отдельно, он не будет доступен для функции clean
модели и, следовательно, не может использоваться для проверки, если name
и owner
являются уникальными.