第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Django ModelFieldChoice 選擇傳遞值

Django ModelFieldChoice 選擇傳遞值

ibeautiful 2023-09-19 14:05:26
您好,我正在使用 ModelFieldChoice 在模型“文章”中設(shè)置來自提供者的外鍵(文章屬于提供者)。模板中的選擇與數(shù)據(jù)庫中的所有提供程序一起正確顯示,但是當(dāng)我嘗試發(fā)布表單時(shí),它會拋出一個(gè)錯(cuò)誤,表明即使我傳遞了選擇值,它也是必需的。此外,我在數(shù)據(jù)庫中為文章設(shè)置了值,當(dāng)我嘗試編輯它時(shí),表單中的所有字段都填充了除選擇之外的正確數(shù)據(jù)。這些是我的模型,我將不勝感激的幫助,謝謝!抱歉,如果我做錯(cuò)了什么,這是我第一次在 stackoverflow 上發(fā)帖。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中,當(dāng)我打印“proveedor_id”時(shí),該值正確顯示在控制臺中,但“is_valid()”失敗并打印錯(cuò)誤"<ul class="errorlist"><li>proveedor<ul class="errorlist"><li>Este campo es obligatorio.</li></ul></li></ul>"(必填字段,就好像我沒有傳遞它一樣)
查看完整描述

1 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

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


class ArticleCreate(forms.ModelForm):

  class Meta:

    model = Article

然后在請求傳遞proveedor字段中,不是proveedor_id. 在 Django/DRF 中,您應(yīng)該使用"{{association_name}}": id模式傳遞關(guān)聯(lián) ID,而不是"{{association_name}}_id": id


所以你也可以簡化你的觀點(diǎn):


def add_article(request):

if request.method == 'POST':

  create = ArticleCreate(request.POST)

  if create.is_valid():

    create.save()

  ...


查看完整回答
反對 回復(fù) 2023-09-19
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號