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:
@ -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)
|
||||
|
Reference in New Issue
Block a user