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

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

Django ModelFieldChoice 選擇傳遞值

Django ModelFieldChoice 選擇傳遞值

ibeautiful 2023-09-19 14:05:26
您好,我正在使用 ModelFieldChoice 在模型“文章”中設置來自提供者的外鍵(文章屬于提供者)。模板中的選擇與數據庫中的所有提供程序一起正確顯示,但是當我嘗試發布表單時,它會拋出一個錯誤,表明即使我傳遞了選擇值,它也是必需的。此外,我在數據庫中為文章設置了值,當我嘗試編輯它時,表單中的所有字段都填充了除選擇之外的正確數據。這些是我的模型,我將不勝感激的幫助,謝謝!抱歉,如果我做錯了什么,這是我第一次在 stackoverflow 上發帖。Article.py 模型class Article(models.Model):     codigo = models.CharField(max_length=100, verbose_name='Codigo')     proveedor = models.ForeignKey(Provider, on_delete=models.CASCADE)     descripcion = models.CharField(max_length=200, verbose_name='Descripcion',null=False, blank=True)     marca = models.CharField(max_length=100, verbose_name='Marca',null=True, blank=True)     rubro = models.CharField(max_length=100, verbose_name='Rubro',null=True, blank=True)     nota = models.TextField(verbose_name='Nota',null=True)     costo = models.CharField(max_length=50, verbose_name='Costo',null=False, blank=True)     created = models.DateTimeField(auto_now_add=True, verbose_name="Fecha de creación",null=True, blank=True)     updated = models.DateTimeField(auto_now=True, verbose_name="Fecha de edición",null=True, blank=True)class Meta:    verbose_name = "articulo"    verbose_name_plural = "articulos"    ordering = ['-descripcion']def __str__(self):    return self.descripcion在views.py中,當我打印“proveedor_id”時,該值正確顯示在控制臺中,但“is_valid()”失敗并打印錯誤"<ul class="errorlist"><li>proveedor<ul class="errorlist"><li>Este campo es obligatorio.</li></ul></li></ul>"(必填字段,就好像我沒有傳遞它一樣)
查看完整描述

1 回答

?
largeQ

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

首先,將ArticleCreate序列化器簡化為這樣:


class ArticleCreate(forms.ModelForm):

  class Meta:

    model = Article

然后在請求傳遞proveedor字段中,不是proveedor_id. 在 Django/DRF 中,您應該使用"{{association_name}}": id模式傳遞關聯 ID,而不是"{{association_name}}_id": id


所以你也可以簡化你的觀點:


def add_article(request):

if request.method == 'POST':

  create = ArticleCreate(request.POST)

  if create.is_valid():

    create.save()

  ...


查看完整回答
反對 回復 2023-09-19
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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