from django.db import models

class flowModel(models.Model):
    
    document_date = models.DateField(verbose_name='Document Date', null=True, blank=True)
    document_number = models.CharField(max_length=20, verbose_name='Document Number', null=True, blank=True)
    document_type = models.CharField(max_length=20, verbose_name='Document Type', null=True, blank=True)
    business_type = models.CharField(max_length=20, verbose_name='Business Type', null=True, blank=True)
    iout_type = models.CharField(max_length=255, verbose_name='IOUT Type', null=True, blank=True)
    department = models.CharField(max_length=255, verbose_name='Department', null=True, blank=True)
    warehouse_code = models.CharField(max_length=20, verbose_name='Warehouse Code', null=True, blank=True)
    warehouse_name = models.CharField(max_length=255, verbose_name='Warehouse Name', null=True, blank=True)
    goods_code = models.CharField(max_length=255, verbose_name='Goods Code', null=True, blank=True)
    goods_desc = models.CharField(max_length=255, verbose_name='Goods Description', null=True, blank=True)
    goods_std = models.CharField(max_length=255, verbose_name='Goods Standard', null=True, blank=True)
    goods_batch = models.CharField(max_length=255, verbose_name='Goods Batch', null=True, blank=True)
    in_batch = models.CharField(max_length=255, verbose_name='In Batch', null=True, blank=True)
    out_batch = models.CharField(max_length=255, verbose_name='Out Batch', null=True, blank=True)
    goods_unit = models.CharField(max_length=255,default = '件', verbose_name="Goods Unit", null=True, blank=True)
    goods_in = models.BigIntegerField(default=0, verbose_name="Goods In",null=True, blank=True)
    goods_out = models.BigIntegerField(default=0, verbose_name="Goods Out",null=True, blank=True)
    goods_notes = models.CharField(max_length=255,default = '待填写', verbose_name="Goods Notes",null=True, blank=True)
    creator = models.CharField(max_length=255, verbose_name='Creator', null=True, blank=True)


    class Meta:
        db_table = 'flowlist'
        verbose_name = 'Flow List'
        verbose_name_plural = "Flow List"
        ordering = ['id']
        constraints = [
        models.UniqueConstraint(
                fields=[
                    'document_date', 'document_number', 'document_type',
                    'business_type', 'iout_type', 'department', 'warehouse_code',
                    'warehouse_name', 'goods_code', 'goods_desc', 'goods_std',
                    'goods_batch', 'in_batch', 'out_batch', 'goods_in', 'goods_out',
                    'goods_notes', 'creator'
                ],
                name='unique_all_fields'
            )
        ]