假设我在django中有以下模型结构:
Option Explicit
Sub btn()
Dim lItem As Long
Dim c As Long
Range("G:G").Clear
For lItem = 0 To Worksheets("Bordereau Prep").ListBox2.ListCount - 1
If Worksheets("Bordereau Prep").ListBox2.Selected(lItem) = True Then
c = c + 1
Worksheets("BDD").Cells(15 + c, 7) = Worksheets("Bordereau Prep").ListBox2.List(lItem)
'Worksheets("Bordereau Prep").Range("G15:G" & 14 + c) = Worksheets("Bordereau Prep").ListBox2.List(lItem)
Worksheets("Bordereau Prep").ListBox2.Selected(lItem) = False
End If
Next lItem
End Sub
我不确定如何访问父模型的对象,以及如何使此复制方法有效?
我搜索了很多,找不到任何答案。我应该只使用一对一的关系吗?
答案 0 :(得分:1)
如果您有正常的父子模型,您将获得子项中的属性以访问父项。您可以使用新的父对象更新此属性。
此外,您创建父对象的方式可能不起作用,您需要在该对象上调用方法。
所以我会将孩子的copy()
方法更新为:
class B(A):
def copy(self):
# this method is what I am confused about
new_parent = self.a.copy() # change 'a' with appropriate attribute name
obj = self
obj.pk = None
# set obj's parent model to 'new_parent'
obj.a = new_parent
obj.save()
return obj