gpt4 book ai didi

django - Rel.to 在 Django 2.0 中弃用

转载 作者:行者123 更新时间:2023-12-05 03:51:57 25 4
gpt4 key购买 nike

我正在尝试将 django 会计 ( https://github.com/dulacp/django-accounting ) 升级到最新版本的 django,因为我想在我的应用程序中使用它。

我正在尝试解决在 django 2.0 中已弃用的一项是 rel.to。

[https://github.com/dulacp/django-accounting/blob/master/accounting/apps/books/mixins.py][1]

第 44 行:

field, m, direct, m2m = model._meta.get_field_by_name(source) 现已替换为 field = model._meta.get_field(source)

第 45 行:

rel = field.rel
if not rel:
# next field
continue

rel_model = rel.to
try:
rel_model._meta.get_field_by_name(self.relation_name)

现在已被替换为:

rel = field.remote_field
if not rel:
# next field
continue

remote_field = rel.to
try:
remote_field.model._meta.get_field_by_name(self.relation_name)

我有一个错误ManyToOneRel' object has no attribute 'to'。它可能会将我带到下一个要修改的字段,但如果有人知道如何解决这个问题,那就太好了。谢谢

最佳答案

来自较旧的 Django 版本 source code

def to(self):
warnings.warn(
"Usage of ForeignObjectRel.to attribute has been deprecated. "
"Use the model attribute instead.",
RemovedInDjango20Warning, 2)
return self.model

所以改变

remote_field = rel.to

remote_field = rel.model

关于django - Rel.to 在 Django 2.0 中弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62523750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com