【发布时间】:2020-01-25 09:27:20
【问题描述】:
我必须检查 django 模型保存方法是用于创建新对象还是更新它,因为如果更新,我必须从父对象更新子对象的状态。
class Categoria(Entidad):
ESTADO = (("Activo", "Activo"), ("Inactivo", "Inactivo"))
estado = models.CharField(verbose_name=_("Estado"), max_length=20, choices=ESTADO, default=1)
categoria_padre = models.ForeignKey('self', verbose_name=_("Categoría Padre"), related_name='parent_category', related_query_name='child_category', null=True, blank=True, on_delete=models.CASCADE)
def save(self, *args, **kwargs):
from django.db import connection
# first option does not work because i can access to django model manager
old = self.objects.get(id=self.id)
# second option throughs 500 error when create new objects
cursor = connection.cursor()
response = cursor.execute("SELECT * FROM cms_categoria WHERE id = '" + str(self.id) + "'")
set = response.fetchall()
connection.commit()
cursor.close()
connection.close()
第二个选项适用于本地开发,但不适用于使用 postgres 将其推送到 heroku。
有人可以帮帮我吗? 谢谢,问候。
【问题讨论】:
标签: django database postgresql heroku