在本教程中,我刚刚开始逐步学习Django REST框架。在
在本教程中,我声明了与Django的表单非常相似的序列化器,以便提供一种将片段实例序列化和反序列化为表示的方法,例如json。在
这里是片段/模型.py. 在
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles
LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted((item, item) for item in get_all_styles())
class Snippet(models.Model):
created = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=True, default='')
code = models.TextField()
linenos = models.BooleanField(default=False)
language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)
class Meta:
ordering = ('created',)
以下是片段/序列化程序.py. 在
^{pr2}$在Django文档中,我找不到allow_blank,style={'base_template':'文本区域.html'}作为CharField属性,所以我不知道它们是什么意思。在
我想知道标题=模型.CharField(最大长度=100,空白=True,默认值='')in模型.py和标题=序列化程序.CharField(必需=假,允许空白=真,最大长度=100)in序列化程序.py。在
请告诉我。谢谢你的时间。在
首先,对于CharFields,不要将blank和default都设置为True和空字符串。空白就够了。空白表示该字段不是必需的,可以为空。其次,在序列化程序中定义的字段与模型中的字段完全相同。你可以把这些都去掉。DRF是为你做的,这才是重点。它只是模仿模型中描述的字段的属性。在
你也可以删除create和update方法,它们是自动发生的。在
这才是你真正需要的。在
相关问题 更多 >
编程相关推荐