我正在做一个项目,其中他们有我用 CHOICES 处理过的各种工作类型,但是,我想为选择工作类型 1 时添加条件,子类型 xy 成为选择。我对你如何做到这一点的语法有问题。我在下面包含了我的伪代码......感谢任何帮助!from django.db import modelsclass User(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.nameclass Job(models.Model): name = models.CharField(max_length=255) user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='jobs') JOB_CHOICES = ( ('carpentry', 'Carpentry'), ('cleaning', 'Cleaning'), ('electrician', 'Electrician'), ('handyman', 'Handyman'), ('hvac', 'HVAC'), ('painting', 'Painting'), ('pest', 'Pest'), ('plumbing', 'Plumbing'), ('roofing', 'Roofing'), ('property', 'Property'), ) jobType = models.CharField(max_length=30, choices=JOB_CHOICES, default='handyman') # If JobType = Carpentry: # CARPENTRY_CHOICES = ( # ('trim', 'trim') # ('sheetrock', 'Sheetrock') # ('windows', 'Windows') # ('doors', 'Doors') # ('cabinets and shelving', 'Cabinets and Shelving') # ('other', 'Other') # ) # jobType = models.CharField(max_length=30, choices=CARPENTRY_CHOICES, default='other') def __str__(self): return self.name
1 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
我可能会使用 job_type 模型,它有一个名称和一个“子类型”字段。
class JobType(models.Model):
SubTypeChoices = (...)
name = models.CharField()
subtype = models.CharField(choices=SubTypeChoices, ...)
class Job(models.Model):
....
job_type = models.ForeignKey(JobType, ...)
....
通过这种方式,您可以将您的“子类型”与一个 job_type 相关联。如果出于某种原因您可以为一个作业设置多个 job_type,请使用 ManyToMany 字段。
添加回答
举报
0/150
提交
取消