Noa*_*ith 3 python google-app-engine google-cloud-datastore
作为一名Python程序员,我喜欢我的代码是可重用的,我试图避免代码中的名称冲突(两个不同的模型共享相同类型的名称).
目前我只是将一些有意义的文本添加到模型的类名中,但这非常简单.
能够明确设置模型的类型将解决我的问题,但我不知道如何做到这一点,有谁知道如何?
Nic*_*son 10
只需覆盖kind()您的类的方法:
class MyModel(db.Model):
@classmethod
def kind(cls):
return 'prefix_%s' % super(MyModel, cls).kind()
Run Code Online (Sandbox Code Playgroud)
您可以定义为您执行此操作的自定义基类:
class ModuleModel(db.Model):
@classmethod
def kind(cls):
return '%s_%s' % (cls.__module__, super(ModuleModel, cls).kind())
Run Code Online (Sandbox Code Playgroud)
任何扩展ModuleModel的类都将具有它所定义的模块的名称,并以类名称为前缀.
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |