0

私は現在このようなモデルを持っています

class Lg(models.Model):
    name = models.CharField(max_length = 50,choices = LG_CHOICES,unique = True)

class State(models.Model):
    name = models.CharField(max_length = 50,choices = STATE_CHOICES,unique = True)
    lg = models.ManyToManyField(Lg,related_name ='State_Lg',blank= True,null = True)

class AddPlaceForm(forms.Form):
    house_number = forms.IntegerField()
    street_name = forms.CharField()
    area = forms.CharField()
    city  = forms.CharField()
    lg = forms.ChoiceField(choices = Lg.objects.none()) 

    def __init__(self,state_id,*args,**kwargs):
        super(GenericPropertyForm,self).__init__(self,*args,**kwargs)
        self.fields['lg'] = forms.ChoiceField(choices=list(State.objects.get(id = state_id).lg.select_related()))

このようなビューから状態IDをユーザーに渡してもらいたいform = AddPlaceForm(state_id)

誰でもこれを助けることができます

4

1 に答える 1

0

In your view code:

form = AddPlaceForm(state_id=state_id}

form

def __init__(self, *args, **kwargs):
     state_id = kwargs.pop('state_id', None)
     super(AddPlaceForm, self).__init__(*args, **kwargs)
     self.fields['lg'] = forms.ChoiceField(choices = ((lg.id, lg.name) for lg in State.lg.filter(id=state_id))
于 2012-10-28T17:05:56.293 に答える