python - Django 1.6,如何为CreateView设置字段默认值

标签 python django django-models django-generic-views

模型.py

class App(models.Model):
    name = models.CharField(max_length=10, default='')
    desc = models.CharField(max_length=10, default='') 

View .py

class AppCreate(CreateView):
    template_name = "app/add.html"
    model = App 

模板

<!DOCTYPE html>
<html lang="en">
<head>   
    <meta charset="UTF-8">
    <title></title>
</head>  
<body>   
    <form action="" method="POST">
    {% csrf_token %}                                                         
    {{form}}
    <input type="submit" value='submit'>
    </form>
</body>  
</html>  

这里有两个问题:

  1. 为什么我设置了模型字段默认值,但在数据库中不起作用?我检查sql语句,没有设置默认值

  2. 如果想将desc设置为可选字段(html中的desc字段不是必填字段),该怎么办?

最佳答案

默认值实际上纠正了对可选字段的需求。如果您不输入任何值,则不会收到错误,但会存储默认值,这当然是一个空字符串(值)。要显式指定可选,请使用 blank=True

desc = models.CharField(max_length=10, blank=True)

可以使用

关于python - Django 1.6,如何为CreateView设置字段默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20521854/

相关文章:

python - 每个程序只发出一次警告

python - 当我从文件安装 conda 软件包时如何包含 --channel ?

python - Django 测试客户端不会自动序列化工厂

django Manytomany 通过

python - Django 查询顶级模型

python - Mongo UUID python vs java 格式

python - 将函数返回元组解包为键值对

django - 使用 python/django 进行复杂的图像分析

python - Django 如何根据一个查询中嵌套的多对多关系过滤查询集

python - Django 模型对象有长度函数吗?