0
0
DjangoConceptBeginner · 3 min read

FloatField in Django: Definition, Usage, and Examples

FloatField in Django is a model field used to store floating-point numbers (decimals with fractions) in the database. It allows you to save and retrieve decimal values like prices or measurements with decimal points.
⚙️

How It Works

FloatField works like a container for numbers that have decimal points, such as 3.14 or 0.99. Imagine you want to store the weight of a package or the price of an item; these values are not whole numbers but decimals. FloatField lets Django know that this data should be saved as a floating-point number in the database.

When you define a FloatField in a Django model, Django creates the right column type in the database to hold decimal numbers. When you save a model instance, Django converts the Python float into a format the database understands. When you get data back, Django converts it back to a Python float.

This field is useful when you need to store approximate decimal values but don't require exact precision, like measurements or ratings.

💻

Example

This example shows a Django model with a FloatField to store product prices. It demonstrates how to create and save an instance with a decimal value.

python
from django.db import models

class Product(models.Model):
    name = models.CharField(max_length=100)
    price = models.FloatField()

# Usage example (in Django shell or view):
product = Product(name='Coffee Mug', price=12.99)
product.save()

print(product.name)  # Output: Coffee Mug
print(product.price) # Output: 12.99
Output
Coffee Mug 12.99
🎯

When to Use

Use FloatField when you need to store numbers with decimals that do not require perfect precision. Examples include:

  • Storing measurements like weight, height, or temperature.
  • Saving ratings or scores that can have fractional values.
  • Recording prices or costs where small rounding differences are acceptable.

If you need exact decimal precision, such as for financial calculations, consider using DecimalField instead.

Key Points

  • FloatField stores floating-point numbers in Django models.
  • It is suitable for approximate decimal values, not exact precision.
  • Django converts Python floats to database floats and back automatically.
  • Use DecimalField for precise decimal storage like money.

Key Takeaways

FloatField stores decimal numbers with fractions in Django models.
It is best for approximate values like measurements or ratings.
Django handles conversion between Python floats and database floats automatically.
For exact decimal precision, use DecimalField instead.
Use FloatField when small rounding errors are acceptable.