2013-08-21 29 views
0

我想添加多个复选框以根据复选框选择在视图中过滤鲜花。我很喜欢Django。我如何修改我的models.py?将多个Checbox组添加到Django管理面板

from django.db import models 

class Flower(models.Model): 
    name = models.CharField(max_length = 30) 
    price = models.DecimalField(max_digits=6, decimal_places=2) 
    details = models.TextField() 

    def __unicode__(self): 
     return self.name 
    def my_upload_to(instance, filename): 
     return 'static/media/' + instance.name + '.jpg' 
    image = models.ImageField(upload_to=my_upload_to) 

回答

0

可以使用的形式得到完成,这里是代码:

from django.forms import widgets 
class FlowerForm(forms.ModelForm): 
    name = forms.ModelMultipleChoiceField(label='Name',queryset=Flower.objects.all(), 
      widget=forms.CheckboxSelectMultiple) 
    class Meta: 
     model = Flower 
+0

管理面板中没有任何更改。我明白这个代码添加花复选框。我想添加一些od花属性的复选框,并希望根据此属性进行过滤。 – GaripTipici

+0

您需要使用选定的清单创建自定义表格。 – Pradeep

0

一些事情是这样的:

在views.py:

# get the selected flower id as fid 
FlowerForm = create_flower_form(fid) 
的形式

。 py:

def create_flower_form(id): 
class fform(forms.ModelForm): 

    name = forms.ModelChoiceField(label='Flower type ', 
      queryset=FLower.objects.filter(id=fid)) 


    class Meta: 

     model = Flower 

return fform