Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
django将外键数据复制到另一个模型_Django - Fatal编程技术网

django将外键数据复制到另一个模型

django将外键数据复制到另一个模型,django,Django,如何将外键数据从一个对象复制到另一个对象 e、 g 我现在想给d和a一样的外键数据。i、 e.记录b和c 谢谢 约翰我不清楚你到底在问什么。我想这不仅仅是 foo.fk_field = bar.fk_field 我不清楚你到底在问什么。我想这不仅仅是 foo.fk_field = bar.fk_field 好吧,如果我明白你想要什么。 您必须将模型修改为: #models.py class ModelA(models.Model) field1 = models.CharField(m

如何将外键数据从一个对象复制到另一个对象

e、 g

我现在想给d和a一样的外键数据。i、 e.记录b和c

谢谢
约翰我不清楚你到底在问什么。我想这不仅仅是

foo.fk_field = bar.fk_field

我不清楚你到底在问什么。我想这不仅仅是

foo.fk_field = bar.fk_field

好吧,如果我明白你想要什么。 您必须将模型修改为:

#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)
   field2 = models.ForeignKey(ModelA)

class ModelB(models.Model)
   field3 = models.CharField(max_length=10)
因此,您可以:

#views.py
b = ModelB(field3 = 'goodbye')
c = ModelB(field3 = 'goodbye again')
a = ModelA(field1 = 'hello', field2 = [b, c])

d = ModelA(field1 = 'another', field2 = a.field2)
#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)

class ModelB(models.Model)
   field2 = models.CharField(max_length=10)
   field3 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field2 = 'goodbye', field3 = a)
c = ModelB(field2 = 'goodbye again', field3 = a)


d = ModelA(field1 = 'another')


#here you get all the objects related to "a"
query = ModelB.objects.filter(field3=a)

#iterated over them 
for obj in query:
    obj.field3 = d
或者,如果您希望保留您的模型,您可以:

#views.py
b = ModelB(field3 = 'goodbye')
c = ModelB(field3 = 'goodbye again')
a = ModelA(field1 = 'hello', field2 = [b, c])

d = ModelA(field1 = 'another', field2 = a.field2)
#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)

class ModelB(models.Model)
   field2 = models.CharField(max_length=10)
   field3 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field2 = 'goodbye', field3 = a)
c = ModelB(field2 = 'goodbye again', field3 = a)


d = ModelA(field1 = 'another')


#here you get all the objects related to "a"
query = ModelB.objects.filter(field3=a)

#iterated over them 
for obj in query:
    obj.field3 = d
我认为另一种方式可以是你想要的:

#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)
   field2 = models.ForeignKey(ModelA)

class ModelB(models.Model)
   field3 = models.CharField(max_length=10)
   field4 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field3 = 'goodbye', field4 = a)
c = ModelB(field3 = 'goodbye again', field4 = a)


d = ModelA(field1 = 'another', field2 = a)

我想已经完成了。但我不知道,我希望它能对你有用^^

如果我明白你的意思的话。 您必须将模型修改为:

#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)
   field2 = models.ForeignKey(ModelA)

class ModelB(models.Model)
   field3 = models.CharField(max_length=10)
因此,您可以:

#views.py
b = ModelB(field3 = 'goodbye')
c = ModelB(field3 = 'goodbye again')
a = ModelA(field1 = 'hello', field2 = [b, c])

d = ModelA(field1 = 'another', field2 = a.field2)
#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)

class ModelB(models.Model)
   field2 = models.CharField(max_length=10)
   field3 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field2 = 'goodbye', field3 = a)
c = ModelB(field2 = 'goodbye again', field3 = a)


d = ModelA(field1 = 'another')


#here you get all the objects related to "a"
query = ModelB.objects.filter(field3=a)

#iterated over them 
for obj in query:
    obj.field3 = d
或者,如果您希望保留您的模型,您可以:

#views.py
b = ModelB(field3 = 'goodbye')
c = ModelB(field3 = 'goodbye again')
a = ModelA(field1 = 'hello', field2 = [b, c])

d = ModelA(field1 = 'another', field2 = a.field2)
#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)

class ModelB(models.Model)
   field2 = models.CharField(max_length=10)
   field3 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field2 = 'goodbye', field3 = a)
c = ModelB(field2 = 'goodbye again', field3 = a)


d = ModelA(field1 = 'another')


#here you get all the objects related to "a"
query = ModelB.objects.filter(field3=a)

#iterated over them 
for obj in query:
    obj.field3 = d
我认为另一种方式可以是你想要的:

#models.py
class ModelA(models.Model)
   field1 = models.CharField(max_length=10)
   field2 = models.ForeignKey(ModelA)

class ModelB(models.Model)
   field3 = models.CharField(max_length=10)
   field4 = models.ForeignKey(ModelA)

#views.py
a = ModelA(field1 = 'hello')
b = ModelB(field3 = 'goodbye', field4 = a)
c = ModelB(field3 = 'goodbye again', field4 = a)


d = ModelA(field1 = 'another', field2 = a)

我想已经完成了。但我不知道,我希望它能对你有用^^

这不是答案。请删除并作为注释重新发布。添加了示例。希望这有帮助。这不是答案。请删除并作为注释重新发布。添加了示例。希望这有助于我猜这将改变外键数据从一个模型到另一个。我想复制它,以便foo和bar都具有相同的外键数据(相同数据的重复副本,实际上不是相同的记录),我想这会将外键数据从一个模型更改为另一个模型。我想复制它,以便foo和bar都具有相同的外键数据(相同数据的副本,而不是实际相同的记录)