我知道如何通过提交的表单创建模型对象,但我想知道如何在 View 中创建对象而无需通过表单。我知道这可以通过 shell 完成,但我在 View 中有不同的原因。
例如,假设我有一个包含标题和正文的博客表。我将如何创建一个新对象来设置标题和正文的字段?
def create_blog(request):
# Create a new blog object.
blog_obj.title= "First Blog"
blog_obj.body= "This is the body"
更新: 这是我的模型.py
from django.db import models
class Rating(models.Model):
movie_name= models.CharField(max_length=100)
total_ratings = models.IntegerField()
total_rating_value = models.IntegerField()
rating_average = models.DecimalField(max_digits=2, decimal_places=2)
更新 2: 当我尝试保存我的对象时,它返回一个错误(类“decimal.InvalidOperation”)。 rating_average 是一个 Decimal_field。 这是我的实际对象:
rating_obj = Rating(movie_name="Test Movie", total_ratings=1, total_rating_value= 5, rating_average= 5.0)
请您参考如下方法:
这是直接的 Python 代码,没有任何特定于 Django 的代码:
blog_obj = Blog(title="First Blog", body="This is the body")
也许你想通过好的和容易理解的Django tutorial ?
编辑:
为了解决您的 DecimalField 问题,您需要将 max_digits 设置为大于 decimal_places。
来自docs :
Note that this number must be greater than or equal to decimal_places.
