나는 작업을 수행하는 방법에 조금 얽매있어 누군가 도움이 될지 궁금해하고있었습니다. 이것은 내가 사용자로부터 정보를 수집하는 데 사용하고 양식을 대표하는Django 필터 결과
class Prefabrication(models.Model):
prefabrication_id = models.AutoField(primary_key=True)
matlist = models.ForeignKey(MatList, blank=True, null=True)
sizelist = models.ForeignKey(SizeList, blank=True, null=True)
quantity = models.IntegerField(blank=True, null=True)
workpack = models.ForeignKey(Workpack, blank=True, null=True)
code = models.CharField(max_length=50)
lineclass = models.ForeignKey(Lineclass, blank=True, null=True)
class CreateNewPrefabForm(forms.ModelForm):
class Meta:
model = Prefabrication
fields = ('prefabrication_id', 'matlist', 'sizelist',
'quantity', 'workpack', 'lineclass')
:
나는이 모델 및 모델 형태를 갖는다.
매트리스트를 기반으로 한 조회 테이블에서 특정 값을 얻으려고 시도하고 있으며 사용자가 지정한 값인입니다. 내가 이것을 사용하여 시도했다
: 시도 및 필터링에 의해 반환 된 항목의 코드를 얻을 수있는 필터
if request.method == 'POST':
if createprefabcons['newprefab'].is_valid():
item = Lineclass.objects.filter(itemname__icontains=createprefabcons['newprefab'].cleaned_data['matlist'],
dn1__icontains=createprefabcons['newprefab'].cleaned_data['sizelist'],
lineclassname__icontains=createprefabcons['newprefab'].cleaned_data['matlist'])
createprefabcons['newprefab'].cleaned_data['code'] = item
createprefabcons['newprefab'].save()
return HttpResponseRedirect('/')
. 내가 아는 한 은 필터 검색에서 반환 된 하나의 항목이어야하며 사용자가 검색 할 세부 정보를 지정한 후에 추가하려는 코드가 있어야합니다.
모든 것이 db에 저장되지만 코드 필드가 공백이므로 잘못된 값을 지정하거나 일치하는 값이 없습니다. 필터링이 올바르게 수행되면 일치가되어야합니다. 누구든지 조언을 해줄 수 있습니까?
대단히 감사합니다.
도움을 주셔서 감사합니다. 이 메서드를 시도한 후, get()은 2 항목을 반환하므로 item = Lineclass.objects.filter() [0]을 사용하여 다시 필터를 사용하여 무엇이 반환되는지 확인하고, 테이블의 첫 번째 열만 반환하는 것으로 보입니다. , lineclass_id는 11011이지만 전체 행은 아닙니다. Lineclass.objects.filter() [1]를 사용해도 똑같습니다. –