django1.7 Queryset select 来自多个模型的不同数据

django1.7 Queryset select distinct data from multiple models

亮点

我正在尝试从多个检索不同的数据 models.What 是实现此目的的最佳解决方案吗?我需要 Django1.7 代码。

问题

我想检索以 search_key 开头的文件的完整详细信息,前提是请求的用户有权访问它。

相关数据

modes.py

class FileDetails(models.Model):
    fileId = models.CharField(max_length = 100,primary_key=True,db_index=True)
    fileName=models.CharField(max_length = 100)
    fileSize=models.IntegerField(max_length = 1000,blank=True,default=0)

class Permission(models.Model):
    user = models.ForeignKey(UserProfile)


class FileShare(models.Model):
    owner = models.ForeignKey(UserProfile)
    file_requested=models.ForeignKey(FileDetails)
    permission=models.ManyToManyField(Permission)
filedetails =FileDetails.objects.filter(fileName__startswith=search_key)
        for f in filedetails:

            fileshare=FileShare.objects.get( file_requested=f.fileId)

            try:
                if fileshare.permission.get(user=current_user):

                    filedet =FileDetails.objects.get(fileId=fileshare.file_requested)
                    ownership.append(fileshare.owner)
                    FileID.append(filedet.fileId)
                    FileName.append(str(filedet.fileName.split('Temp/')[1]))
                    FileSize.append(float(format(filedet.fileSize/1000000.0, '.2f')))

                    filedetails=zip(FileName,FileSize,FileID,ownership)          
            except ObjectDoesNotExist :
                    pass