Что такое механизм Django / Python, стоящий за моделью / полевой частью Django фреймворка?
Если быть точным, я ищу подсказку о том, как 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Фреймворк форм или сериализаторы 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, а не модели / поля.