Мне нужна помощь.
В моих моделях.py у меня есть таблица для Note. Что я хочу сделать с этой таблицей, так это создать форму, в которой пользователь может вводить некоторые заметки в текстовое поле для конкретного клиента.
models.py
class Note(models.Model):
client = models.ForeignKey(Client)
datetime = models.DateTimeField(default=datetime.now)
user = models.ForeignKey(User)
note = models.TextField()
def __unicode__(self):
return unicode(self.user)
Теперь, когда пользователь вводит примечание, он должен только видеть текстовое поле примечания. После того, как форма была отправлена, форма должна автоматически сохранять дату и время в любое время и дату. У меня, кажется, с полем пользователя. После отправки формы аутентифицированный пользователь должен быть автоматически сохранен. Я не совсем уверен, как вы можете это сделать. Я также хочу автоматически сохранять клиента, поэтому, на какую бы страницу клиента вы ни попали (r'^clients/(?P<client_id>\d+)/$', views.get_client)
, автоматически сохраняйтесь с этого клиента.
Вот что я написал в своих form.py
forms.py
class NoteForm(forms.ModelForm):
class Meta:
model = models.Note
exclude = ('client','user','datetime')
И здесь тоже мои взгляды.
Views.py
def add_notes(request, client_id):
client = models.Client.objects.get(pk = client_id)
notes = client.note_set.all()
if request.method == 'POST':
form = forms.NoteForm(request.POST)
if form.is_valid():
form.save(True)
request.user.message_set.create(message = "Note is successfully added.")
return HttpResponse("<script language=\"javascript\" type=\"text/javascript\">window.opener.location = window.opener.location; window.close();</script>")
else:
form = forms.NoteForm()
return render_to_response('note_form.html', {'form':form, 'client':client,'notes':notes}, context_instance = RequestContext(request))