如何为每个新的父对象实例化一个新的属性对象?

时间:2017-11-14 19:30:47

标签: python

我正在处理一个特殊情况,我试图模仿模型类的django感觉:

class packet(models.packet):
    field1 = models.IntField()
    field2 = models.IntField()

使用元语法有很多背景接口,但过度的想法是允许用户与字段进行交互,如下所示:

p = packet()
p.field1 = 12
p.field1 == 12 # true

虽然仍未妥协字段类型:

isinstance(p.field1, models.IntField) # true

我遇到的问题是两个packet个对象共享相同的Fields,因为它们属于类属性:

p1 = packet()
p2 = packet()

p1.field1 = 12
p2.field2 = 14

p1 is p2 # false
p1.field1 is p2.field1 # true

如何为每个新的父对象实例化一个新的属性对象?

为了更好的上下文,请随意浏览source here

0 个答案:

没有答案