CharField has one more required argument:
CharField.max_length
The maximum length (in characters) of the field. Maximum max_length
applies at the database level and when validating Django using MaxLengthValidator .
Syntax
field_name = models.CharField (max_length = 200, ** options )
Django CharField Model Explanation
CharField illustration using example. Consider a project named pythonengineering
that has an application named geeks
.
Refer to the following articles to check how to create a project and an app in Django.
Enter the following code into the models.py
file of the geeks application.
|
Add the geek app to INSTALLED_APPS
|
Now when we run makemigrations from the terminal,
Python manage.py makemigrations
A new folder named migrations will be created in the geeks
directory with a file named 0001_initial. py
|
Now run ,
Python manage.py migrate
Thus, geeks_field
CharField is generated when migrations are run in the project. This is a field for storing small and large strings.
How to use a CharField?
A CharField is used to store small strings in the database. You can store first name, last name, address, and so on. The CharField must have a max_length
argument to specify the maximum length of the string that you want to store. On a production server, after deploying a Django app, space is very limited. Therefore, it is always optimal to use max_length as required by the field. Let’s create the CharField instance we created and check if it works.
|
Now let’s check it out on the admin server faith. We have created an instance of GeeksModel.
Field options
Field options — they are arguments given to each field to apply some constraint or to convey a specific characteristic to a particular field. For example, adding the null = True
argument to the CharField will allow it to store empty values for that table in a relational database.
Here are the field options and attributes that CharField can use.
Field Options | Description |
---|---|
Null | If True , Django will store empty values as NULL in the database. Default is False. |
Blank | If True , the field is allowed to be blank ... Default is False. |
Choices | An iterable (eg, a list or tuple) of 2-tuples to use as choices for this field. |
Default | The default value for the field. This can be a value or a callable object. If callable it will be called every time a new object is created. |
help_text | Extra “help” text to be displayed with the form widget. It’s useful for documentation even if your field isn’t used on a form. |
primary_key | If True, this field is the primary key for the model . |
Unique | If True, this field must be unique throughout the table. |