【发布时间】:2017-10-04 05:48:52
【问题描述】:
我正在规范化与 Django 项目关联的数据库,并将字段移动到不同的表中。作为实施过程的一部分,如果我的同事在我实际删除列之前添加新表后尝试使用旧属性,我想向他们发出弃用警告。
class Asset(Model):
model = models.CharField(max_length=64, blank=True, null=True)
part_number = models.CharField(max_length=32, blank=True, null=True) # this will be a redundant column to be deprecated
company = models.ForeignKey('Company', models.CASCADE, blank=True, null=True) # this will be a redundant column to be deprecated
# other database fields as attributes and class methods
我的理解是,我需要在课堂上的某处添加类似于 warnings.warn('<field name> is deprecated', DeprecationWarning) 的内容,但我应该在哪里添加呢?
【问题讨论】:
-
您可以将字段更改为属性并在那里处理警告,并尽可能返回适当的值。
-
一个可能的解决方案:shezadkhan.com/aliasing-fields-in-django
标签: django python-3.x django-models deprecation-warning class-attributes