如何在 Django 中获取所有外键的列表
How to get a list of all ForeignKey's in django
我正在尝试创建一个带会计功能的简单上传中心。
我有一个 User
和一个 File
model
像这样:
class File(models.Model):
name = models.CharField(max_length=100)
path = models.CharField(max_length=255)
short_discripton = models.TextField(max_length=500, null=False)
upload_date = models.DateTimeField("Uploaded Date", auto_now_add=True)
def upload_date(self):
return timezone.datetime.now()
def __unicode__(self):
return self.name
class User(models.Model):
username = models.CharField(max_length=25, null=False, blank=False)
password = models.CharField(max_length=255, null=False, blank=False)
user_path = models.CharField(max_length=255, null=False, blank=False)
first_name = models.CharField(max_length=50, null=False, blank=False)
last_name = models.CharField(max_length=60, null=True, blank=True)
creation_date = models.DateTimeField("Register Date", auto_now_add=True)
files = models.ForeignKey(File, null=True, blank=True)
def __unicode__(self):
return self.userna
我
但是当我尝试使用 :
检索文件时
all_user_files = File.objects.get(pk=user.id)
虽然数据库中有更多文件(检查管理面板),但只有 returns 个文件之一。
而我使用的另一种方式:
user_all_files = user.files_set.all()
它会引发错误:
'User' object has no attribute 'files_set'
我真的对 that.Is 感到困惑 还有其他方法吗?
您需要删除 files = models.ForeignKey(File, null=True, blank=True)
并添加到文件(模型)user= models.ForeignKey(User)
此处示例docs.djangoproject.com/en/1.8/topics/db/examples/many_to_one
我正在尝试创建一个带会计功能的简单上传中心。
我有一个 User
和一个 File
model
像这样:
class File(models.Model):
name = models.CharField(max_length=100)
path = models.CharField(max_length=255)
short_discripton = models.TextField(max_length=500, null=False)
upload_date = models.DateTimeField("Uploaded Date", auto_now_add=True)
def upload_date(self):
return timezone.datetime.now()
def __unicode__(self):
return self.name
class User(models.Model):
username = models.CharField(max_length=25, null=False, blank=False)
password = models.CharField(max_length=255, null=False, blank=False)
user_path = models.CharField(max_length=255, null=False, blank=False)
first_name = models.CharField(max_length=50, null=False, blank=False)
last_name = models.CharField(max_length=60, null=True, blank=True)
creation_date = models.DateTimeField("Register Date", auto_now_add=True)
files = models.ForeignKey(File, null=True, blank=True)
def __unicode__(self):
return self.userna
我
但是当我尝试使用 :
检索文件时all_user_files = File.objects.get(pk=user.id)
虽然数据库中有更多文件(检查管理面板),但只有 returns 个文件之一。
而我使用的另一种方式:
user_all_files = user.files_set.all()
它会引发错误:
'User' object has no attribute 'files_set'
我真的对 that.Is 感到困惑 还有其他方法吗?
您需要删除 files = models.ForeignKey(File, null=True, blank=True)
并添加到文件(模型)user= models.ForeignKey(User)
此处示例docs.djangoproject.com/en/1.8/topics/db/examples/many_to_one