Files
labhelper/boxes/models.py
Adrian A. Baumann accefa2533 Initial commit: Django project with boxes app
- Set up Django 5.2.9 project structure
- Add boxes app with Box and BoxType models
- Box: alphanumeric ID (max 10 chars) with foreign key to BoxType
- BoxType: name and dimensions (width/height/length in mm)
- Configure admin interface for both models
- Add comprehensive test suite (14 tests)
2025-12-28 13:04:37 +01:00

38 lines
915 B
Python

from django.db import models
class BoxType(models.Model):
"""A type of storage box with specific dimensions."""
name = models.CharField(max_length=255)
width = models.PositiveIntegerField(help_text='Width in millimeters')
height = models.PositiveIntegerField(help_text='Height in millimeters')
length = models.PositiveIntegerField(help_text='Length in millimeters')
class Meta:
ordering = ['name']
def __str__(self):
return self.name
class Box(models.Model):
"""A storage box in the lab."""
id = models.CharField(
max_length=10,
primary_key=True,
help_text='Alphanumeric identifier (max 10 characters)'
)
box_type = models.ForeignKey(
BoxType,
on_delete=models.PROTECT,
related_name='boxes'
)
class Meta:
verbose_name_plural = 'boxes'
def __str__(self):
return self.id