Python Django models.py文件中的for循环是否会影响性能?

Python Django models.py文件中的for循环是否会影响性能?,python,django,Python,Django,我计划使用for循环为我的字段自动生成一个choices参数 SIZE=[] # to be generated with a for loop to avoid me writing extra lines of code e.g (0, '32'),(1, '33') ... old_price = models.PositiveIntegerField() shoe_varient = models.IntegerField('SIZE', choices=SIZE) Do for mo

我计划使用for循环为我的字段自动生成一个
choices
参数

SIZE=[] # to be generated with a for loop to avoid me writing extra lines of code e.g (0, '32'),(1, '33')
...
old_price = models.PositiveIntegerField()
shoe_varient = models.IntegerField('SIZE', choices=SIZE)
Do for models.py
models.py
文件中的循环会导致任何性能问题,因为我假设
models.py
文件仅用于构建(构造)数据库

换句话说,
models.py
文件是否在每次请求后都被调用?

解决方案 它不一定会影响性能,因为在服务器启动时,当加载到内存中时,它只运行一次。Choices还接受方法引用,方法引用可以放在相关模型中,这可能是封装Choices逻辑的更好方法

然而,如果你正在经历黑客攻击选择动态的麻烦,你可能最好创建一个
ForeignKey

请注意,选项可以是任何序列对象,而不一定是列表或元组。这使您可以动态构造选择。但是,如果您发现自己的黑客选择是动态的,那么最好使用带有
ForeignKey
的适当数据库表。选择是为了静态数据,如果有变化,也不会有太大变化

工具书类
Django Choices文档:

你在这里循环什么?我猜有一个更合理的地方来进行for循环