Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django模型中将多个选择拆分为单独的记录_Python_Django - Fatal编程技术网

Python 在Django模型中将多个选择拆分为单独的记录

Python 在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

我有两个django模型通过外键连接。第二个模型有一个CharField,可以进行多种选择。是否有一种方法可以在保存时为每个选择创建一个记录,而不是将单个条目与所选ID连接在一起。 我猜我需要为第二个模型创建一个自定义保存方法,但我想不出来

models.py

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,而无需太多麻烦。