繁体   English   中英

Django'function'对象没有属性'_meta'

[英]Django 'function' object has no attribute '_meta'

我有一个简单的 Django 应用程序,我想在其中显示和保存模型中的一些数据。

这是我的模型

class Curr(models.Model):
name=models.TextField(default='USD')
value=models.DecimalField(max_digits=10, decimal_places=5, default=0)

我的模型表格

class CurrForm(forms.ModelForm):
class Meta:
    model = Curr
    fields = '__all__'

我的看法

currency = Curr.objects.all()
if request.method == "POST":
        post_values = request.POST.copy()
        form = CurrForm(post_values, instance=currency)

这给出了错误

'function' object has no attribute '_meta'

阅读其他类似的帖子并没有消除我的疑虑。 任何帮助表示赞赏。

您的实例并非所有 Curr 对象。 您需要选择一个特定的实例来操作该对象。

https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/#the-save-method 上看到的示例:

# Create a form to edit an existing Article, but use
# POST data to populate the form.
a = Article.objects.get(pk=1)
f = ArticleForm(request.POST, instance=a)
f.save()

一条建议:使用序列化程序。 将数据保存到 python 模型并将数据从模型获取到 json/etc 对您有很大帮助。 (它使用 Django Rest 框架)。

https://www.django-rest-framework.org/api-guide/serializers/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM