Прежде всего, я очень плохо знаком с Django и Python, и я изо всех сил пытаюсь сделать ОЧЕНЬ простой счет для работы. У меня 3 класса; Поставщик , Продукт и Счет . Продукт и поставщик работают отлично, я могу заполнить их, и они сохраняются в базе данных. Теперь мне нужно заполнить счет-фактуру, выбрать поставщика, продукты (один или несколько) и указать количество для каждого продукта. , Кажется, я не могу понять, как это сделать: добавить количество к каждому выбранному продукту (я понятия не имею, как это сделать) и вычислить итоговое значение (я знаю, что я должен умножить цены и количества, а затем суммировать их но я не знаю, где это сделать и как сохранить). Я попытался добавить класс LineItem , но не смог заставить его работать.
Я использую Python 3.7 и Django 3.0
Я отправляю код, который я написал до сих пор. (на всякий случай: Proveedor = поставщик, продукт = продукт, фактура = счет-фактура, cantidad = количество, стоимость = цена)
Заранее спасибо!
models.py
class Proveedor(models.Model):
apellido = models.CharField(max_length=200, null=True)
nombre = models.CharField(max_length=200, null=True)
cuit = models.CharField(max_length=13, null=True)
teléfono = models.CharField(max_length=200, null=True)
dirección = models.CharField(max_length=200, null=True)
def __str__(self):
return '{} {}'.format(self.nombre, self.apellido)
class Producto(models.Model):
UNIDAD_DE_MEDIDA = (
('Litro', 'Litro'),
('Kilo', 'Kilo'),
('Gramo', 'Gramo'),
('Cm3', 'Cm3'),
('Unidad', 'Unidad'),
)
nombre = models.CharField(max_length=200, null=True)
presentación = models.CharField(max_length=200, null=True)
unidad_de_medida = models.CharField(max_length=200, null=True, choices=UNIDAD_DE_MEDIDA)
precio_unitario = models.FloatField(null=True)
def __str__(self):
return '{} {}'.format(self.nombre, self.presentación)
class Factura(models.Model):
ESTADO = (
('Paga', 'Paga'),
('No Paga', 'No Paga'),
)
numero = models.IntegerField(null=True)
producto = models.ManyToManyField(Producto)
cantidad = models.IntegerField(max_length=200, null=True)
proveedor = models.ForeignKey(Proveedor, null=True, on_delete= models.SET_NULL)
fecha = models.DateTimeField(auto_now_add=True, null=True)
estado = models.CharField(max_length=200, null=True, choices=ESTADO)
def __str__(self):
return '{} {} {}'.format(self.fecha, self.numero, self.proveedor)