【发布时间】:2019-07-09 18:38:41
【问题描述】:
框架的 Django 模型/字段部分背后的 Django/Python 机制是什么?
确切地说,我正在寻找有关 Django 如何解析 (?) 类定义然后知道需要哪些字段的提示?
from django.db import models
class Car(models.Model):
name = models.CharField(max_length=255, null=True, blank=True)
year_of_production = models.DateField(null=True)
# the rest of fields...
我认为 Django Forms 框架或 DRF 序列化器背后的机制是相同的。我检查了这些项目的回购,但我仍然找不到任何合理的起点。
在我的问题下存在架构问题。我想我需要实现类似这种机制的东西:
class Field:
def __init__(self, label: str, required: bool = True, **kwargs):
self.label, self.required = label, required
class CharField(Field):
def __init__(self, max_length: int, **kwargs):
self.max_length = max_length
super().__init__(**kwargs)
class DateField(Field):
...
class BooleanField(Field):
...
class Model:
# the mechanisms I do not understand
class MyModelInstance(Model):
name = CharField(...)
# etc.
我需要的是真正简单的解决方案,知道该字段是必需的。但正如我之前所说,我不是那么先进,我真的很感激任何提示。
编辑:我想我正在寻找 Django Forms 机制之类的东西,而不是模型/字段。
【问题讨论】:
标签: python django design-patterns