Django/forms Есть форма choice field не получается подключится по foreign key
Прошу помочь, где строка ChoiceField не получется выбрать foreign key, если не пишу эту строку все работает, но я хотел задать ему класс, если не задаю choice класс добовляется но значение исчезают, понемаю что нужно использовать choice но какой параметр задавать
forms.py
from django import forms
from main.models import SubCategory, Category
class SubCategoryForm(forms.ModelForm):
category = forms.ChoiceField(label='Категория',required=True, choices=Category.title, widget=forms.Select(attrs={'class': 'form-control',}))
title = forms.CharField(label='Подкатегория',required=True,widget=forms.TextInput(attrs={'class': 'form-control',}))
price = forms.IntegerField(label='Цена',required=True,widget=forms.TextInput(attrs={'class': 'form-control'}))
unit = forms.IntegerField(label='Еденица измерения',required=True,widget=forms.NumberInput(attrs={'class': 'form-control'}))
class Meta:
model = SubCategory
fields = '__all__'
models.py
class Category(models.Model):
title = models.CharField(max_length=255)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Категория'
verbose_name_plural = 'Категории'
ordering = ('title',)
class SubCategory(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
title = models.CharField(max_length=255)
price = models.IntegerField()
stock = models.ForeignKey(Stock, on_delete=models.CASCADE)
unit = models.IntegerField(default=0)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Подкатегория'
verbose_name_plural = 'Подкатегории'
ordering = ('price',)