python - "' 反向ManyToOneDescriptor ' object has no attribute ' 全部 '"

标签 python django django-models

我自己找到了答案,但认为这个问题可能对其他人有益:

每当我打电话时,我都会收到以下错误:

Schema.objects.all() 

Schema.objects.filter(url=some_url)

或类似的..

错误:“'ReverseManyToOneDescriptor'对象没有属性'all'”

class Schema(models.Model):

    label = models.TextField()
    description = models.TextField()
    url = models.URLField(unique=True)

    def __str__(self):
        return self.label

    class Meta:
        app_label = 'metadata'


class Object(models.Model):
    label = models.TextField()
    description = models.TextField()
    # related name should not be objects, because that will cause problems
    schema = models.ForeignKey(
        Schema, related_name='objects', on_delete=models.CASCADE)

    def __str__(self):
        return "%s.%s" % (self.schema.label, self.label)

    class Meta:
        app_label = 'metadata'

最佳答案

问题是 related_name 不能是“objects”,它与 Schema.objects 冲突

因此,通过重命名 related_name,例如:

class Object(models.Model):
    label = models.TextField()
    description = models.TextField()
    # related name should not be objects, because that will cause problems
    schema = models.ForeignKey(
        Schema, related_name='object_list', on_delete=models.CASCADE)

    def __str__(self):
        return "%s.%s" % (self.schema.label, self.label)

    class Meta:
        app_label = 'metadata'

解决了我的问题。

关于python - "' 反向ManyToOneDescriptor ' object has no attribute ' 全部 '",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52499969/

相关文章:

python - Django ForeignKey 哪个不需要参照完整性?

python - Django 1.8 EmailField 现在接受无效的电子邮件地址

python - Windows 7 上的 Conda 更新因 yaml 导入错误而失败

Python3数据帧重组

python - 将 DICOM 转换为 TIFF

python - 在 Django 中编写模板标签

python - 如何在管理员中设置 django upload_handler?

python - Windows 7/8 上的 Django 1.6.2 - Python 3.3 - MySQL 5.6.17 连接器问题

Django迁移错误: Column does not exist

python - 如何在多元线性回归模型中找到学生化残差和 PRESS 残差