From 8f611a523b78218c6135404d1273eea722e13b96 Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Sat, 17 Aug 2024 09:48:36 -0500 Subject: [PATCH] make customer name required field. --- .../migrations/0028_alter_customer_address.py | 18 ++++++++++++++++++ tienda_ilusion/don_confiao/models.py | 9 ++++++--- tienda_ilusion/don_confiao/tests/test_party.py | 7 +++++++ 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 tienda_ilusion/don_confiao/migrations/0028_alter_customer_address.py diff --git a/tienda_ilusion/don_confiao/migrations/0028_alter_customer_address.py b/tienda_ilusion/don_confiao/migrations/0028_alter_customer_address.py new file mode 100644 index 0000000..66d02b9 --- /dev/null +++ b/tienda_ilusion/don_confiao/migrations/0028_alter_customer_address.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.6 on 2024-08-17 14:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('don_confiao', '0027_alter_product_name'), + ] + + operations = [ + migrations.AlterField( + model_name='customer', + name='address', + field=models.CharField(blank=True, max_length=100, null=True), + ), + ] diff --git a/tienda_ilusion/don_confiao/models.py b/tienda_ilusion/don_confiao/models.py index 77c55d1..62d6fd6 100644 --- a/tienda_ilusion/don_confiao/models.py +++ b/tienda_ilusion/don_confiao/models.py @@ -6,8 +6,11 @@ from decimal import Decimal class Customer(models.Model): - name = models.CharField(max_length=100) - address = models.CharField(max_length=100) + name = models.CharField(max_length=100, default=None, null=False, blank=False) + address = models.CharField(max_length=100, null=True, blank=True) + + def __str__(self): + return self.name class MeasuringUnits(models.TextChoices): @@ -53,7 +56,7 @@ class Sale(models.Model): class SaleLine(models.Model): sale = models.ForeignKey(Sale, on_delete=models.CASCADE) - product = models.ForeignKey(Product, on_delete=models.CASCADE) + product = models.ForeignKey(Product, null=False, blank=False, on_delete=models.CASCADE) quantity = models.IntegerField(null=True) unit_price = models.DecimalField(max_digits=9, decimal_places=2) description = models.CharField(max_length=255, null=True, blank=True) diff --git a/tienda_ilusion/don_confiao/tests/test_party.py b/tienda_ilusion/don_confiao/tests/test_party.py index bdb9c58..25d78e2 100644 --- a/tienda_ilusion/don_confiao/tests/test_party.py +++ b/tienda_ilusion/don_confiao/tests/test_party.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 from django.test import TestCase +from django.db.utils import IntegrityError + from ..models import Customer @@ -12,3 +14,8 @@ class TestCustomer(TestCase): customer.save() self.assertIsInstance(customer, Customer) + + def test_don_create_customer_without_name(self): + customer = Customer() + with self.assertRaises(IntegrityError): + customer.save()