Ich möchte zwei Fremdschlüsselfelder in einem meiner Formulare ausfüllen. Der entsprechende Teil des Codes lautet wie folgt:
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
zeigt auf den Vehicle
Klasse. addedBy
soll den aktuell angemeldeten Benutzer enthalten.
Allerdings sind die Dropdowns nicht so initialisiert, wie ich es möchte...ich muss immer noch das Fahrzeug und den Benutzer auswählen. Daher habe ich zwei Fragen:
- Was könnte das Problem sein?
- Wie kann ich diese Formulare am besten schreibgeschützt machen?
EDIT 1 Le site IssueForm
Klasse sieht bisher so aus:
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
Formular Klasse
class IssuesForm(ModelForm):
class Meta:
model = Issues
exclude = ('assignedTo')