1
0
forked from erp-dev/erp

feat: app verion && some field modify (printing & shipment)

This commit is contained in:
2026-07-08 20:36:51 +08:00
parent ddbf798665
commit 36e4bb6de6
32 changed files with 3465 additions and 26 deletions

View File

@@ -450,6 +450,66 @@ class Customer(ModelBase):
]
class CustomerAddress(ModelBase):
id = models.BigAutoField(primary_key=True)
merchant = models.ForeignKey(
'Merchant',
on_delete=models.PROTECT,
related_name='customer_addresses',
verbose_name='所属商户',
)
customer = models.ForeignKey(
'Customer',
on_delete=models.PROTECT,
related_name='addresses',
verbose_name='客户',
)
address = models.CharField(max_length=255, verbose_name='地址')
contact_name = models.CharField(max_length=100, blank=True, default='', verbose_name='联系人')
contact_phone = models.CharField(max_length=50, blank=True, default='', verbose_name='联系电话')
area = models.CharField(max_length=100, blank=True, default='', verbose_name='地区')
coordinates = models.CharField(
max_length=100,
null=True,
blank=True,
verbose_name='经纬度',
help_text='经纬度字符串,格式由调用方决定',
)
is_default = models.BooleanField(default=False, verbose_name='是否默认地址')
remark = models.CharField(max_length=200, blank=True, default='', verbose_name='备注')
extra = models.JSONField(null=True, blank=True, verbose_name='扩展信息')
created_by = models.ForeignKey(
'Employee',
on_delete=models.PROTECT,
related_name='created_customer_addresses',
null=True,
blank=True,
verbose_name='创建者',
)
deleted_at = models.DateTimeField(null=True, blank=True, verbose_name='删除时间')
deleted_by = models.ForeignKey(
'Employee',
on_delete=models.SET_NULL,
related_name='deleted_customer_addresses',
null=True,
blank=True,
verbose_name='删除者',
)
def __str__(self):
return f'{self.customer.name} - {self.address}'
class Meta:
verbose_name = '客户地址'
verbose_name_plural = '客户地址'
ordering = ['-is_default', '-created_at', '-id']
indexes = [
models.Index(fields=['merchant', 'customer']),
models.Index(fields=['deleted_at']),
models.Index(fields=['is_default']),
]
class Employee(ModelBase):
id = models.BigAutoField(primary_key=True)
merchant = models.ForeignKey('Merchant', on_delete=models.PROTECT, related_name='employees', verbose_name='所属商户')