Django Form来自纯Python中的模型

时间:2017-02-10 15:04:12

标签: python django oop orm sqlalchemy

简介

我尝试创建界面以便于访问在线游戏数据。使用HeroModel类(使用SQLAlchemy)创建数据库中每个英雄的一些基本参数。

问题

还需要在Model上方创建 Manager 类来更改其实例中的数据(在 Manager 中),但不在数据库中。正如我现在看到的,实现此目的的唯一方法是将所有Model字段重写为 Manager 类。

"来自Model"机制对我来说似乎是正确的解决方案。

问题

如何在Python中实现这个想法?

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题,但如果你想从数据库中获取一个实例并更改其属性而不保存数据库中的更改,只要你不这样做就可以自由地进行在对象上调用.save

举个例子:

hero = Hero.objects.get(pk=1)  # Get the instance from the database
hero.name = "My Super Hero"
hero.save()  # Here you are changing the attributes and saving to the database

hero.name = "Actually a villain"
hero.power = 200  
hero.life = 90
hero.life = 80  # All of these changes are NOT reflected to the database

hero = Hero.objects.get(pk=1)  # Reload the same instance from database
print(hero.name)  # Outputs "My Super Hero" because other changes were not saved