Advertisement
Guest User

overriding form field queryset

a guest
Mar 9th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.48 KB | None | 0 0
  1. class ExtensionForm(forms.ModelForm):
  2.     xmpp_buddy_groups_choices = xmpp_buddy_groups.objects.values_list('group_name',flat=True)
  3.     class Meta:
  4.       model = SipExtension
  5.       fields = '__all__'
  6.       widgets = {
  7.             "xmpp_buddy_groups_names": forms.CheckboxSelectMultiple
  8.         }
  9.     def __init__(self, *args, **kwargs):
  10.         super().__init__(*args, **kwargs) \
  11.             DidNumber.objects.filter(did_owner_extension=self)   # THIS DOESNT WORK
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. # extensions/models.py
  19. class SipExtension(models.Model):
  20.     sip_extension = models.PositiveIntegerField(unique=True)
  21.     sip_secret = models.CharField(max_length=32)
  22.     commlink_push = models.BooleanField(default=False)
  23.     real_name = models.CharField(max_length=32)
  24.     default_did = models.ForeignKey('dids.DidNumber',null=True,blank=True)
  25.     xmpp = models.BooleanField(default=False)
  26.     xmpp_username = models.CharField(max_length=50,default='username')
  27.     xmpp_password = models.CharField(max_length=32,default='password')
  28.     xmpp_buddy_groups_names = models.ManyToManyField('xmpp.xmpp_buddy_groups',blank=True)
  29.  
  30.  
  31.  
  32.  
  33.  
  34. # dids/models.py
  35. class DidNumber(models.Model):
  36.     did_number = models.CharField(max_length=50, unique=True)
  37.     did_owner_extension = models.ForeignKey(SipExtension,default=None,null=True)   # I want to filter the ExtensionForm based on this field
  38.     did_vendor = models.CharField(max_length=10, default='unknown')
  39.     did_active = models.BooleanField(default=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement