Change language

CharField — Django Models

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.

from django.db import models

from django.db.models import Model

# Create your models here.

  

class GeeksModel (Model):

geeks_field = models.CharField (ax_length = 200 )

Add the geek app to INSTALLED_APPS

# App definition

 

INSTALLED_APPS = [

  ’ django.contrib.admin’ ,

’django.contrib.auth’ ,

’django.contrib.contenttypes’ ,

’django.contrib.sessions’ ,

’django.contrib.messages’ ,

’django.contrib.staticfiles’ ,

’geeks’ ,

]

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

# Generated by Django 2.2.5 at 2019-09-25 06:00

 

from django.db import migrations, models

 

class Migration (migrations.Migration):

 

initial = True

 

  dependencies = [

]

 

operations = [

  migrations.CreateModel (

name = ’GeeksModel ’ ,

  fields = [

( ’id’

  mode ls.AutoField (

auto_created = True ,

primary_key = True ,

serialize = False

verbose_name = ’ ID’

  )),

( ’geeks_field’

  models.CharFi eld (

max_length = 200 ,

)),

],

),

  ]

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.

# model import
# from a geek app

from geeks.models import GeeksModel

 
# create an instance
# GeeksModel

geek_object = GeeksModel.objects.create (geeks_field = " GFG is Best " )

geek_object.save ()

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.

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically