django将外键数据复制到另一个模型
如何将外键数据从一个对象复制到另一个对象 e、 g 我现在想给d和a一样的外键数据。i、 e.记录b和c 谢谢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
约翰我不清楚你到底在问什么。我想这不仅仅是
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都具有相同的外键数据(相同数据的副本,而不是实际相同的记录)