簡體   English   中英

用戶模型的外鍵無法按預期工作

[英]Foreign key to user model not working as expected

我有一個帶有自定義用戶模型的django項目。

我有使用自定義用戶模型作為其外鍵的Subscriptions模型。

class Subscriptions(models.Model):
    user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    app_subscriptions = models.CharField(max_length=100)

    def __str__(self):
        return self.app_subscriptions

但是,如果我嘗試使用..app_subscriptions_set.all()恢復所有用戶的app_subscriptions..app_subscriptions_set.all()它總是返回以下錯誤:

AttributeError: 'CustomUser' object has no attribute 'app_subscriptions_set'

我在這里使用相同類型的模型:

from django.db import models

class Software(models.Model):
    name = models.CharField(max_length=50)

    def __str__(self):
        return self.name

class Version(models.Model):
    version = models.CharField(max_length=50)
    software = models.ForeignKey(Software, on_delete=models.CASCADE)

    def __str__(self):
        return self.version

在此模型上,使用...version_set.last()查詢所有軟件版本都沒有問題。

有人有想法么? 先感謝您。

嘗試使用user_instance.subscriptions_set.all()而不是.app_subscriptions_set.all()

缺省的accesor是模型名稱,全部小寫,並附加_set 請參閱有關此文檔此問題

您的模型Version就是這樣:

software_instance.version_set.all()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM