Bird
Raised Fist0
Djangoframework~10 mins

Field types (CharField, IntegerField, DateField) in Django - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a character field with a maximum length of 100.

Django
name = models.[1](max_length=100)
Drag options to blanks, or click blank then click option'
ACharField
BIntegerField
CTextField
DDateField
Attempts:
3 left
💡 Hint
Common Mistakes
Using IntegerField for text data.
Forgetting to set max_length for CharField.
2fill in blank
medium

Complete the code to define a field that stores whole numbers.

Django
age = models.[1]()
Drag options to blanks, or click blank then click option'
AIntegerField
BCharField
CDateField
DFloatField
Attempts:
3 left
💡 Hint
Common Mistakes
Using CharField for numbers.
Using FloatField when whole numbers are needed.
3fill in blank
hard

Fix the error in the code to correctly define a date field.

Django
birth_date = models.[1](auto_now_add=True)
Drag options to blanks, or click blank then click option'
ADateTimeField
BCharField
CIntegerField
DDateField
Attempts:
3 left
💡 Hint
Common Mistakes
Using IntegerField or CharField for dates.
Confusing DateField with DateTimeField.
4fill in blank
hard

Fill both blanks to define a model field for a user's joining date that sets automatically when created and does not change.

Django
joined = models.[1](auto_[2]=True)
Drag options to blanks, or click blank then click option'
ADateField
BIntegerField
Cnow_add
Dauto_now
Attempts:
3 left
💡 Hint
Common Mistakes
Using auto_now instead of auto_now_add for creation date.
Using IntegerField for dates.
5fill in blank
hard

Fill all three blanks to define a model field for a user's last login date that updates automatically every time the record is saved.

Django
last_login = models.[1](auto_[2]=True, null=[3])
Drag options to blanks, or click blank then click option'
ADateField
BFalse
CTrue
Dauto_now
Attempts:
3 left
💡 Hint
Common Mistakes
Using auto_now_add instead of auto_now for update date.
Not allowing null values when needed.

Practice

(1/5)
1. Which Django field type is best for storing a person's full name with a limit on characters?
class Person(models.Model):
name = ?
easy
A. IntegerField()
B. CharField(max_length=100)
C. DateField()
D. TextField()

Solution

  1. Step 1: Understand the data type needed for a name

    A person's name is text, so a text-based field is needed.
  2. Step 2: Choose the field with character limit

    CharField stores text with a max length, perfect for names.
  3. Final Answer:

    CharField(max_length=100) -> Option B
  4. Quick Check:

    Text with length limit = CharField(max_length=100) [OK]
Hint: Use CharField for text with max length limits [OK]
Common Mistakes:
  • Using IntegerField for text data
  • Using DateField for names
  • Using TextField without length limit when limit is needed
2. Which of the following is the correct syntax to define an IntegerField named age in a Django model?
easy
A. age = models.CharField(max_length=3)
B. age = models.DateField()
C. age = models.IntegerField()
D. age = models.Integer()

Solution

  1. Step 1: Identify the correct Django field for integers

    IntegerField is the correct field type for whole numbers.
  2. Step 2: Check the syntax for defining the field

    It must be assigned as models.IntegerField() inside the model.
  3. Final Answer:

    age = models.IntegerField() -> Option C
  4. Quick Check:

    Integer field syntax = models.IntegerField() [OK]
Hint: Integer fields use models.IntegerField() exactly [OK]
Common Mistakes:
  • Using models.Integer() which does not exist
  • Using CharField for numbers
  • Omitting parentheses after IntegerField
3. Given this Django model snippet:
class Event(models.Model):
    title = models.CharField(max_length=50)
    attendees = models.IntegerField()
    event_date = models.DateField()

What type of data will event_date store?
medium
A. Dates in YYYY-MM-DD format
B. Whole numbers representing attendees
C. Text strings up to 50 characters
D. Floating point numbers

Solution

  1. Step 1: Identify the field type of event_date

    It is defined as models.DateField(), which stores dates.
  2. Step 2: Understand the format stored by DateField

    DateField stores dates in a standard format like YYYY-MM-DD.
  3. Final Answer:

    Dates in YYYY-MM-DD format -> Option A
  4. Quick Check:

    DateField stores dates = Dates in YYYY-MM-DD format [OK]
Hint: DateField stores dates, not text or numbers [OK]
Common Mistakes:
  • Confusing DateField with CharField
  • Thinking DateField stores timestamps or datetime
  • Assuming DateField stores numbers
4. Identify the error in this Django model field definition:
class Product(models.Model):
    price = models.IntegerField(max_length=10)
medium
A. IntegerField does not accept max_length argument
B. Field name 'price' is invalid
C. IntegerField should be CharField here
D. Missing default value for price

Solution

  1. Step 1: Check IntegerField arguments

    IntegerField does not support max_length; it's for CharField only.
  2. Step 2: Confirm the error cause

    Using max_length with IntegerField causes a syntax or runtime error.
  3. Final Answer:

    IntegerField does not accept max_length argument -> Option A
  4. Quick Check:

    max_length only for CharField = IntegerField does not accept max_length argument [OK]
Hint: max_length is only for CharField, not IntegerField [OK]
Common Mistakes:
  • Adding max_length to IntegerField
  • Confusing field names as errors
  • Thinking default value is mandatory
5. You want to create a Django model for a blog post with a title (max 200 chars), number of likes (whole number), and published date. Which field types should you use for title, likes, and published respectively?
hard
A. CharField(max_length=200), FloatField(), DateField()
B. TextField(), CharField(max_length=200), DateTimeField()
C. CharField(max_length=200), IntegerField(max_length=10), DateField()
D. CharField(max_length=200), IntegerField(), DateField()

Solution

  1. Step 1: Choose field for title with character limit

    CharField with max_length=200 fits the title text limit.
  2. Step 2: Choose field for likes as whole number

    IntegerField stores whole numbers like likes count.
  3. Step 3: Choose field for published date

    DateField stores the date when the post was published.
  4. Final Answer:

    CharField(max_length=200), IntegerField(), DateField() -> Option D
  5. Quick Check:

    Title=text, Likes=integer, Date=date = CharField(max_length=200), IntegerField(), DateField() [OK]
Hint: Match field type to data: text, number, date [OK]
Common Mistakes:
  • Using max_length on IntegerField
  • Using FloatField for likes count
  • Confusing DateField with DateTimeField
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard