Django formset raw sql query

#1

django formset_factory kullanıyorum. formset i model.objects ile aldığımda sorun yok.
ancak raw sql kullandığımda browser da ‘RawQuerySet’ object has no attribute ‘ordered’
hatası alıyorum.
django manage shell den baktığımda sorun yok ancak sayfayı render edemiyor.
çözümünü bilen var mıdır?
güzel yorumlar iyi forumlar…

#2

bu şekilde çözdüm.

‘’’
views
queryset = GiftVoucherSub.objects.filter(main_id=id, is_deleted=False).order_by(‘id’)

forms
class GiftVoucherSubForm(forms.ModelForm):
passanger_id = forms.CharField(max_length=30,
required=False,
widget=forms.HiddenInput()
)
passanger_name = forms.CharField(widget=forms.TextInput(attrs={
# ‘id’: ‘form_fatura_cari_isim’,
‘class’: ‘formset-field table-condensed clearable’,
‘required’: ‘True’,
‘autocomplete’: ‘off’,
‘type’: ‘search’,
‘onfocus’: ‘fn_search_passanger(this.id)’,
}
)
)

class Meta:
model = GiftVoucherSub
fields = [
‘id’,
‘main_request_type’,
‘sub_request_type’,
‘passanger_id’,
‘passanger_name’,
‘is_deleted’,
]

def init(self, *args, **kwargs):
super(GiftVoucherSubForm, self).init(*args, **kwargs)
if self.instance.passanger_id:
extra_value = BoYolcuListesi.objects.get(usertableid=self.instance.passanger_id)
self.fields[‘passanger_name’].initial = extra_value.isim
self.helper = FormHelper()
self.helper.form_tag = True
for field in self.fields:
self.fields[field].widget.attrs.update({‘class’: ‘formset-field table-condensed’})
self.fields[field].label = ‘’
‘’’

#3

formset in form un extra field ekleyip.her yolcunun ismini diger tablodan getirdim.
passanger_name field autocomplete ile geliyor bulduğu degeri passanger_id ye yazıyordu.
ancak isimler string olarak başka tabloda duruyordu.
kullanıcıya id göstermek yerine isim göstermek gerekiyordur ayrıca autocomplete özelliginini
de çalışması gerekiyordu. raw sql formset i doldururken hata veriyordu.dolaylı yoldan çözüm oldu
biraz

if self.instance.passanger_id:
extra_value = BoYolcuListesi.objects.get(usertableid=self.instance.passanger_id)
self.fields[‘passanger_name’].initial = extra_value.isim

#4

Centik isareti alt gr + virgul ile yapiliyor.

#5

alışamadım bunlara :slight_smile: