1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-06-21 18:08:21 +02:00

création de forms fonctionnel (form + views + url + html), few changes in models.py

This commit is contained in:
quark
2024-05-25 15:27:26 +02:00
committed by korenstin
parent 64bd5ed546
commit 0801ad64ae
9 changed files with 196 additions and 33 deletions

View File

@ -7,7 +7,7 @@ from django.conf import settings
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator
from django.db import models
from django.db import models, transaction
from django.db.models import Q
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
@ -23,7 +23,7 @@ class QR_code(models.Model):
)
transformed_food_container = models.ForeignKey(
'Transformed_food',
'TransformedFood',
on_delete = models.PROTECT,
related_name = 'QR_code',
null = True,
@ -32,7 +32,7 @@ class QR_code(models.Model):
)
basic_food = models.ForeignKey(
'Basic_food',
'BasicFood',
on_delete = models.PROTECT,
related_name = 'QR_code',
null = True,
@ -128,7 +128,7 @@ class Allergen(models.Model):
)
transformed_food = models.ForeignKey(
'Transformed_food',
'TransformedFood',
on_delete = models.CASCADE,
related_name = 'Allergen',
blank = True,
@ -137,7 +137,7 @@ class Allergen(models.Model):
)
basic_food = models.ForeignKey(
'Basic_food',
'BasicFood',
on_delete = models.CASCADE,
related_name = 'Allergen',
blank = True,
@ -150,10 +150,12 @@ class Allergen(models.Model):
verbose_name_plural = _('Allergens')
def __str__(self):
return _('Allergens of #{id}').format(id=self.id)
return _('Allergens of #{id}').format(id=self.id)
class Basic_food(models.Model):
class BasicFood(models.Model):
"""
Food which has been directly buy on supermarket
"""
@ -201,8 +203,8 @@ class Basic_food(models.Model):
)
transformed_food = models.ManyToManyField(
'Transformed_food',
related_name= 'Basic_food',
'TransformedFood',
related_name= 'BasicFood',
blank = True,
verbose_name = _('transformed food'),
)
@ -215,7 +217,15 @@ class Basic_food(models.Model):
def __str__(self):
return self.name
class Transformed_food(models.Model):
@transaction.atomic
def save(self, force_insert=False, force_update=False, using= None, update_fields=None):
# Check if is_DLC and is DDM are not both True
if self.is_DLC and self.is_DDM:
raise ValidationError("The product cannot be a DLC and a DDM")
return super().save(force_insert, force_update, using, update_fields)
class TransformedFood(models.Model):
"""
Transformed food are a mix between basic food and meal
"""
@ -265,4 +275,6 @@ class Transformed_food(models.Model):
def __str__(self):
return self.name
@transaction.atomic
def save(self, force_insert=False, force_update=False, using= None, update_fields=None):
return super().save(force_insert, force_update, using, update_fields)