Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 管理面板中的业务逻辑_Python_Django_Admin_Crud - Fatal编程技术网

Python 管理面板中的业务逻辑

Python 管理面板中的业务逻辑,python,django,admin,crud,Python,Django,Admin,Crud,我是python新手,我创建了两个模型(鞋和订单) 我可以通过管理面板添加记录,但我希望每次添加订单记录时都能检查鞋子是否可用!我应该把逻辑放在哪里 型号: 有几个选项可以执行此操作: A) 打开pre_save信号。如果要在DB中存储对象之前进行检查: @receiver(pre_save, sender=OrderRecord) def handler_order_check(sender, instance, **kwargs): ... B) 在post_save信号或Mold

我是python新手,我创建了两个模型(鞋和订单) 我可以通过管理面板添加记录,但我希望每次添加订单记录时都能检查鞋子是否可用!我应该把逻辑放在哪里

型号:

有几个选项可以执行此操作:

A) 打开
pre_save
信号。如果要在DB中存储对象之前进行检查:

@receiver(pre_save, sender=OrderRecord)
def handler_order_check(sender, instance, **kwargs):
    ...
B) 在
post_save
信号或
Molde.save
方法中,在创建对象后将进行检查:

@receiver(post_save, sender=OrderRecord)
def handler_order_check(sender, instance, **kwargs):
    ...
C) 在管理表单上。如果您只想在管理员端保留签入,那么从f/e&shell创建的对象将不会进行此类签入


我建议使用,因为它会在每次创建(或更新,取决于实现)时执行检查
OrderRecord

如果您有一些示例,请使用行代码而不是sprint屏幕。