亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將選擇框的值作為外鍵傳遞(Django)

如何將選擇框的值作為外鍵傳遞(Django)

函數式編程 2024-01-24 20:49:57
您好,我正在開發 Django Web 應用程序 - 我有一個選擇框,其中包含特定模型中的所有對象。選擇框是在模板中創建的,它不是直接表單的一部分。當我提交時,我能夠訪問用戶選擇的值,但是當我嘗試使用該值作為查詢集的一部分時,它不會返回預期值。models.pyclass TaskGroup(models.Model):    name = models.CharField(max_length=100, null=False, blank=False)    def __str__(self):        return self.nameclass TaskGroupDetail(models.Model):    taskGroup = models.ForeignKey(TaskGroup, null=True, blank=True)    taskType = models.ForeignKey(TaskType, null=False, blank=False)views.pydef CreateShipmentView(request):    if request.method == 'POST':        shipment_form = CreateShipmentForm(request.POST)        if shipment_form.is_valid():            new_shipment = shipment_form.save()            group = request.POST.get('groups') #get the task group selected            print(group) #this returns the expected value                        .....                    #if a task group was added, create the tasks            groupDetails = TaskGroupDetail.objects.get(taskGroup = group) #this returns a blank queryset            print(groupDetails) #this returns a blank queryset            return redirect('ShipmentListView')        ...    else:        shipmentForm = CreateShipmentForm()        groups = TaskGroup.objects.all()        context = {            'shipmentForm': shipmentForm,            'groups': groups,        }        return render(request, 'create-shipment.html', context)print(group)當我得到我期望的值時引用上面的代碼,我可以看到該值與taskGroup我嘗試在查詢集中返回的對象的字段相匹配。我假設這與值從選擇傳遞到視圖的方式有關(就像它不是 TaskGroup 對象或其他東西),但我不太確定此時要嘗試修復它。有什么想法嗎?
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

由于 Group 是用 TaskGroup 的名稱分配的,因此而不是 get(taskGroup = group)。然后使用 get(taskGroup__name = group) 來訪問 taskGroup name 屬性。



查看完整回答
反對 回復 2024-01-24
  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號