为什么要为Django模型类命名参数

2024-06-16 09:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么我们要为模型类指定参数名,比如CharFieldin像django.like举个例子。你知道吗

first_name = models.CharField(max_length=40, blank=True)

为什么不呢

first_name = models.CharField(40, True)

在java中,我们称之为new charField(40,true)like这个。如果它们是我们在构造函数定义中指定的默认参数(在java中)。你知道吗

我们为什么要写作请给我,请解释。你知道吗


Tags: djangoname模型true参数modelsjavalength
1条回答
网友
1楼 · 发布于 2024-06-16 09:20:57

您在java中看到的被称为positional arguments,其中参数总是按一定顺序排列的。但是,Python支持两种类型的参数:positional arguments and keyword arguments。你知道吗

关键字参数的美妙之处在于,在使用函数时,您不必为方法(或类构造函数)中使用的所有参数定义值。你知道吗

您可以只使用identifier例如,在您的例子中max_lengthblank并保持其余参数不变。你知道吗

如果您查看^{}类(CharField的超类)的^{}方法,您会发现这里定义了许多关键字参数:

def __init__(self, verbose_name=None, name=None, primary_key=False,
        max_length=None, unique=False, blank=False, null=False,
        db_index=False, rel=None, default=NOT_PROVIDED, editable=True,
        serialize=True, unique_for_date=None, unique_for_month=None,
        unique_for_year=None, choices=None, help_text='', db_column=None,
        db_tablespace=None, auto_created=False, validators=[],
        error_messages=None):

其中,您只定义了max_lengthblank,因为这是您所需要的。你知道吗

相关问题 更多 >