python脚本中db函数的dropdown choice参数

2024-09-29 22:00:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django模型表单,其中包含以下字段:

nod_id1 = models.ForeignKey('Eonodes',..)
nod_id2 = models.ForeignKey('Eonodes',..)

按预期呈现为下拉列表。你知道吗

我想做以下工作: 当用户从两个列表中选择一个选项时,需要执行一个python脚本,该脚本使用用户的两个选项的参数调用db函数。函数返回的内容我希望保存到表单(directiondb = models.IntegerField())的另一个字段。 剧本可以是这样的:

cursor = connection.cursor()
cursor.execute("SELECT GETDIRECTIONDB(262,265) from sys.dual")
result = cursor.fetchall()

其中262265是用户选择。你知道吗

我的意思是在数据提交之前,我怎样才能快速完成呢?你知道吗


Tags: django函数用户模型脚本表单列表models
1条回答
网友
1楼 · 发布于 2024-09-29 22:00:17

在保存数据之前,重写模型的保存方法以执行自定义操作。https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-model-methods

def get_direction_db(self.nod_id1, self.nod_id2):
    cursor = connection.cursor()
    cursor.execute("SELECT GETDIRECTIONDB(262,265) from sys.dual")
    result = cursor.fetchall()
    return result[0]  # or whatever

class MyModel(models.Model):
    nod_id1 = models.ForeignKey('Eonodes',..)
    nod_id2 = models.ForeignKey('Eonodes',..)
    directiondb = models.IntegerField()

    def save(self, *args, **kwargs):
        self.directiondb = get_direction_db(self.nod_id1, self.nod_id2)
        super(MyModel, self).save(*args, **kwargs)

相关问题 更多 >

    热门问题