Как получить данные выбора из базы данных и стилизовать поля формы в django
пожалуйста, мне нужно решение этой проблемы:
У меня есть модель под названием transaction, и форма под названием TransactionForm, как показано ниже
Я хочу стилизовать форму, чтобы получить элемент select для автомобиля и элемент checkbox для услуг, когда я отображаю ее в моем шаблоне. хотя я могу сделать это для автомобиля, но не могу сделать это возможным для услуг. рендеринг формы без стилизации работает очень хорошо, но со стилизацией я не получаю данные выбора из базы данных. как мне этого добиться, подскажите, пожалуйста
class Transaction(models.Model):
name= models.CharField(max_length=200,null=True)
vehicle = models.ForeignKey(Vehicle, on_delete=models.SET_NULL, null=True)
services = models.ForeignKey(ServiceType, on_delete=models.SET_NULL, null=True)
updated = models.DateTimeField(auto_now=True)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.user.get_full_name()
TransactionForm
class TransactionForm(forms.ModelForm):
class Meta:
model = Transaction
fields = "__all__"
exclude = [ 'user']
vehicle = forms.ModelChoiceField(
queryset=Vehicle.objects.all(),
required=True, label='Select vehicle Type',
widget=forms.Select(attrs={
'placeholder':'Select vehicle Type',
'class':'form-select'
}))
services = forms.MultipleChoiceField(
required=True, label='Select Service Type',
widget=forms.CheckboxSelectMultiple(
choices=[(service.pk, service.name) for service in ServiceType.objects.all()], attrs={
'class':'form-select'
}))
Необходимо исправить в models
:
services = models.ManyToManyField(ServiceType, null=True)