【问题标题】:django1.7 Queryset select distinct data from multiple modelsdjango1.7 Queryset 从多个模型中选择不同的数据
【发布时间】:2015-01-18 17:22:27
【问题描述】:

亮点

我正在尝试从多个模型中检索不同的数据。实现此目的的最佳解决方案是什么?我需要 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)

【问题讨论】:

    标签: python-2.7 django-queryset django-1.7


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多