Я хочу заполнить два поля внешнего ключа в одной из моих форм. Соответствующий бит кода приведен ниже:
if request.method == 'POST':
form = IssuesForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
form.save()
else:
form = IssuesForm(initial={'vehicle': stock_number, 'addedBy': request.user, })
vehicle
указывает на класс Vehicle
. addedBy
должен содержать текущего пользователя.
Однако выпадающие не инициализируются так, как я хочу ... Мне все еще нужно выбрать автомобиль и пользователя. Отсюда у меня два вопроса:
- В чем может быть проблема?
- Как лучше всего сделать эти формы доступными только для чтения?
РЕДАКТИРОВАТЬ 1
Класс IssueForm
выглядит следующим образом:
class Issues(models.Model):
vehicle = models.ForeignKey(Vehicle)
description = models.CharField('Issue Description', max_length=30,)
type = models.CharField(max_length=10, default='Other', choices=ISSUE_CHOICES)
status = models.CharField(max_length=12, default='Pending',
choices=ISSUE_STATUS_CHOICES)
priority = models.IntegerField(default='8', editable=False)
addedBy = models.ForeignKey(User, related_name='added_by')
assignedTo = models.CharField(max_length=30, default='Unassigned')
dateTimeAdded = models.DateTimeField('Added On', default=datetime.today,
editable=False)
def __unicode__(self):
return self.description
Форма класса
class IssuesForm(ModelForm):
class Meta:
model = Issues
exclude = ('assignedTo')