python - how do I access a django form value in the __init__ method for a query -
i have model includes foreign key:
class part(models.model): parttype = models.foreignkey(parttype, on_delete=models.cascade) brand = models.foreignkey(brand, on_delete=models.cascade) part_name = models.charfield(max_length=60) class quotepart(models.model): quote = models.foreignkey(quote, on_delete=models.cascade) line = models.positivesmallintegerfield(default=1) parttype = models.foreignkey(parttype, on_delete=models.cascade) # part can none if part has not been selected part = models.foreignkey(part, on_delete=models.cascade,blank=true,null=true)
i have form allows parts added quote , want want limit choices on form parts right parttype code not working:
class quotebikepartform(modelform): def __init__(self, *args, **kwargs): super(quotebikepartform, self).__init__(*args, **kwargs) self.fields['parttype'].widget.attrs['disabled'] = true self.fields['frame_part'].widget.attrs['disabled'] = true parttype = kwargs.pop('parttype') self.fields['part'].queryset = part.objects.filter(parttype=parttype.pk) class meta: model = quotepart fields = ['quote','line','parttype','frame_part', 'part', 'quantity','cost_price', 'sell_price'] quotebikepartformset = inlineformset_factory(quote, quotepart, form=quotebikepartform)
i have tried number of different things , far no luck.
you can use 'self.instance.key_name' access value.
Comments
Post a Comment