请考虑这种情况:我的网站上有几个客户,每个客户都可以从他的仪表板创建员工。但是他们每个人都可能需要表单或用户模型中的不同字段。
示例:Client_1 想要姓名、电子邮件、电话形式 Client_2 想要姓名、电话、地址和出生日期
因此,从默认表单/模型客户端应该能够删除不需要的字段并创建他的必填字段。
我希望这可以使用 Django 或 ContentTypes 来完成
请知道的人提供详细的答案。这真的很有帮助。
请考虑这种情况:我的网站上有几个客户,每个客户都可以从他的仪表板创建员工。但是他们每个人都可能需要表单或用户模型中的不同字段。
示例:Client_1 想要姓名、电子邮件、电话形式 Client_2 想要姓名、电话、地址和出生日期
因此,从默认表单/模型客户端应该能够删除不需要的字段并创建他的必填字段。
我希望这可以使用 Django 或 ContentTypes 来完成
请知道的人提供详细的答案。这真的很有帮助。
这真的取决于你的情况。最大的问题是输入类型。很难将 、 或 推广BooleanField
到CharField
某个IntegerField
模型TextField
的一个领域。但我会开始尝试将所有内容保存到 CharFields,然后将它们转换为表单中的正确输入。模型看起来像这样:
class CustomField(models.Model)
label = models.CharField('label', max_length=100)
input_type = models.ChoiceField('label', choices=(('text', 'text'), ('integer', 'integer')) max_length=100)
value = models.CharField('value', max_length=100)
class Contact(models.Model):
custom_fields = models.ManyToManyField(CustomField)
变体 2 从您的示例中,您也可以尝试覆盖所有字段,然后进行可见性设置。因此,用户可以看到他们可以选择的所有字段,并且可以根据需要进行更改。
像这样的东西:
class Contact(models.Model):
name = models.CharField('name', max_length=100)
email = models.CharField('email', max_length=100)
phone = models.CharField('phone', max_length=100)
address = models.CharField('address', max_length=100)
birth_date = models.DateField('birth_date', max_length=100)
class VisibilitySettings(models.Model):
name = models.BooleanField(default=True)
email = models.BooleanField(default=True)
phone = models.BooleanField(default=True)
address = models.BooleanField(default=True)
birth_date = models.BooleanField(default=True)