У меня есть модель категории и форма SearchForm, показанные ниже. Я хотел бы сделать 2 вещи в моем шаблоне:
- разделить в форме экземпляры Category, имеющие заданный тип, чтобы иметь возможность применять к ним определенный стиль в моем CSS
- показать иерархию экземпляров моей категории
В основном мне нужно получить доступ к родителю и стилю категории в моем шаблоне или изменить визуализацию моей формы.
Как я могу это сделать?
Спасибо
Июль
Категория модели
CATEGORY_TYPE = [
(1, 'region'),
(2, 'type'),
]
class Category(models.Model):
parent = models.ManyToManyField('self', symmetrical=False, null=True, blank=True)
type = models.PositiveSmallIntegerField(choices=CATEGORY_TYPE)
class Translation(multilingual.Translation):
name = models.CharField(max_length=100, unique=True)
class Meta:
verbose_name_plural = 'Categories'
def __unicode__(self):
return "%s" %(self.name)
Класс SearchForm
class SearchForm(forms.Form):
query = forms.CharField(max_length=100, required=False)
price_range = forms.IntegerField(widget=forms.Select(choices = PRICE_RANGES_AND_EMPTY), required=False)
def __init__(self, *args, **kwargs):
super(SearchForm, self).__init__(*args, **kwargs)
self.fields['country'] = forms.ModelChoiceField(queryset=Country.objects.all().order_by('name'), empty_label='All', required=False)
self.fields['category'] = forms.ModelMultipleChoiceField(queryset=Category.objects.all().order_by('name'),
widget=forms.CheckboxSelectMultiple(), required=False)