Python 在Django模型中将多个选择拆分为单独的记录
我有两个django模型通过外键连接。第二个模型有一个CharField,可以进行多种选择。是否有一种方法可以在保存时为每个选择创建一个记录,而不是将单个条目与所选ID连接在一起。 我猜我需要为第二个模型创建一个自定义保存方法,但我想不出来 models.pyPython 在Django模型中将多个选择拆分为单独的记录,python,django,Python,Django,我有两个django模型通过外键连接。第二个模型有一个CharField,可以进行多种选择。是否有一种方法可以在保存时为每个选择创建一个记录,而不是将单个条目与所选ID连接在一起。 我猜我需要为第二个模型创建一个自定义保存方法,但我想不出来 models.py class ModelA(models.Model): account_id = models.CharField(max_length=64) date_created = models.DateTimeField(au
class ModelA(models.Model):
account_id = models.CharField(max_length=64)
date_created = models.DateTimeField(auto_now_add=True)
date_updated = models.DateTimeField(auto_now=True)
email_address = models.EmailField()
name = models.CharField(max_length=50)
class ModelB(models.Model):
a = models.ForeignKey("app.ModelA")
zip_codes = models.CharField(max_length=256)
forms.py
class ModelBForm(forms.ModelForm):
zip_codes = forms.CharField(widget=forms.SelectMultiple())
class Meta:
model = ModelB
exclude = ("a",)
保存表单提交后,ModelB的表将包含如下数据
a_id | zip_codes
1 | [90210, 53075, 23703]
a_id | zip_codes
1 | 90210
1 | 53075
1 | 23703
理想情况下,我想要这样的东西
a_id | zip_codes
1 | [90210, 53075, 23703]
a_id | zip_codes
1 | 90210
1 | 53075
1 | 23703
如果我理解您正在寻找的问题,那么将选定ID连接在一起的单个实体是什么意思?你能发布你的模型吗?更新了我的模型和更多信息,你应该使用一个(内联)表单集开始。然后,您可以创建多个B实例,每个实例使用一个zip,而无需太多麻烦。