Проблема, с которой я столкнулся, заключается в том, что я пытаюсь создать форму, которая передает идентификатор пользователя, вошедшего в систему, путем встраивания его в скрытое поле в ModelForm.
Моя модель:
class Portfolios(models.Model):
id = models.AutoField(primary_key=True)
port_name = models.CharField(max_length=135, blank=True)
port_type = models.ForeignKey(PortType, null=True, db_column='port_type', blank=True)
user = models.ForeignKey(User)
def __unicode__(self):
return self.port_name;
class Meta:
db_table = u'tbl_portfolios'
Моя форма:
class PortfoliosCreateForm(ModelForm):
class Meta:
model = Portfolios;
Мой шаблон:
<form action="" method="post">
{% csrf_token %}
{% for field in form %}
<div class="create_form_field">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
<input type="submit" value="Create" /></p>
</form>
Я вызываю шаблон, используя общий вид создания:
url(
r'^portfolios/create/$',
'django.views.generic.create_update.create_object',
dict(
form_class=PortfoliosCreateForm,
post_save_redirect='/',
template_name='portfolios/create.html'
)
),
Как мне лучше всего встроить идентификатор пользователя в эту форму, чтобы он передавал скрытое поле? Или я должен просто передать фиктивное поле и ввести значение в пользовательскую функцию сохранения?
Редактировать: Пользовательская модель - это встроенная пользовательская модель Django.
Спасибо