【发布时间】:2016-08-01 12:20:26
【问题描述】:
(首先对不起我的英语不好,希望你能理解我)
好吧,我必须为我的一个模型的对象添加一个自定义 ID,如果相关对象具有一个或其他属性,则此自定义 ID 将具有字母 P 或 L。 具体来说,如果员工具有“Planta Permantente”或“Planta Contratada”属性,则自定义 ID 将以 P 开头,如果您具有“Locacion de servicio”属性,则将以 L 开头。但两者都需要具有相关编号。如果我有 P1,当我为“locacion de servicio”的员工添加新证书时,自定义 ID 必须是“L1”,下一个是 P“P2”
我该怎么做??
这是我的员工模型的一部分
CONTRACT_TYPES = (
(1, ("Planta Permanente")),
(2, ("Planta Contratada")),
(3, ("Locación de servicio")),
)
class Employee(models.Model):
cuil = models.CharField(
unique=True,
max_length=11,
verbose_name=_('CUIL'),
)
name = models.CharField(
max_length=50,
verbose_name=_('first name'),
)
middle_name = models.CharField(
blank=True,
max_length=50,
verbose_name=_('middle name'),
)
last_name = models.CharField(
max_length=100,
verbose_name=_('last name'),
)
have_children = models.BooleanField(
default=False)
contract = models.IntegerField(
choices=CONTRACT_TYPES,
verbose_name=_('contract'),
)
这是我的证书模型的一部分
class Certificate(models.Model):
employee = models.ForeignKey(
Employee,
verbose_name=_('employee'),
)
place = models.IntegerField(
choices=ACCIDENT_PLACE,
default=1,
verbose_name=_('place')
)
detail = models.CharField(
max_length=255,
verbose_name=_('detail'),
)
clinic = models.ForeignKey(
Clinic,
verbose_name=_('clinic'),
)
这就是我需要做的,如果员工的合同类型 1 或 2 标识为 P1 P2 P3...P100...Pn 并且如果是 3 相同但带有 L 字母。
有什么想法吗?
(非常感谢)
【问题讨论】:
-
您希望将此字段添加到哪个型号?数字部分是否连续(以 1 递增)
标签: django django-models