, так что вы не сможете повторно использовать существующее значение.
му я пытаюсь иметь «две формы» в одномкласс основанный взгляд.
На мой взгляд:
class ListAndCreate(CreateView):
model = xmpp_buddy_groups
form_class = xmpp_buddy_groups_form
second_form_class = sip_extension_form
template_name = "xmpp/index.html"
success_url = reverse_lazy('xmpp:index')
def get_context_data(self, **kwargs):
context = super(ListAndCreate, self).get_context_data(**kwargs)
context['object_list'] = self.model.objects.all()
extension = SipExtension.objects.values_list('sip_extension', flat=True)
obj = SipExtension.objects.filter(sip_extension=1331).first()
for buddy_groups in group_names:
for sip in buddy_groups.sipextension_set.all():
sip_extension = sip.sip_extension
print(sip_extension)
context['extension'] = extension
SipExtension.objects.exclude(sip_extension__in=extension)
print(extension)
context['form'] = self.form_class
context['form2'] = self.second_form_class(instance=obj)
context['extensions'] = SipExtension.objects.exclude(sip_extension__in=extension)
return context
Моя форма занятий:
from django import forms
from .models import xmpp_buddy_groups
from extensions.models import SipExtension
class xmpp_buddy_groups_form(forms.ModelForm):
class Meta:
model = xmpp_buddy_groups
fields = ['group_name']
def __init__(self, *args, **kwargs):
super(xmpp_buddy_groups_form, self).__init__(*args, **kwargs)
self.fields['group_name'].required = False
class sip_extension_form(forms.ModelForm):
class Meta:
model = SipExtension
fields = ['real_name','sip_extension']
widgets = {
"sip_extension": forms.Select
}
def __init__(self, *args, **kwargs):
super(sip_extension_form, self).__init__(*args, **kwargs)
self.fields['sip_extension'].queryset = \
SipExtension.objects.filter(sip_extension=1331)
Мои модели:
from django.db import models
from django.urls import reverse
class xmpp_buddy_groups(models.Model):
group_name = models.CharField(max_length=30,unique=True)
def __str__(self):
return '%s' % (self.group_name)
from django.db import models
class SipExtension(models.Model):
real_name = models.CharField(max_length=32)
sip_extension = models.PositiveIntegerField(unique=True)
sip_secret = models.CharField(max_length=32)
commlink_push = models.BooleanField(default=False)
default_did = models.ForeignKey('dids.DidNumber',null=True,blank=True)
xmpp = models.BooleanField(default=False)
xmpp_username = models.CharField(max_length=50,default='username')
xmpp_password = models.CharField(max_length=32,default='password')
xmpp_buddy_groups_names = models.ManyToManyField('xmpp.xmpp_buddy_groups')
def __str__(self):
return '%s : %s' % (self.sip_extension, self.real_name)
Я получаю доступ к форме в шаблоне как{{form2.as_p}}
, Раскрывающийся список выглядит пустым. Я хочу, чтобы это было заполнено1331
, Как я могу это сделать?
РЕДАКТИРОВАТЬ: Добавленные модели делают вопрос понятнее. Простите мою неопытность с Джанго