Skip to main content
 首页 » 编程设计

python之如何在 Django View 中创建模型对象

2025年05月04日25tintown

我知道如何通过提交的表单创建模型对象,但我想知道如何在 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.