首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用django-import-export反转外键

使用django-import-export反转外键
EN

Stack Overflow用户
提问于 2015-07-03 15:27:46
回答 3查看 917关注 0票数 2

我有以下模型,其中每个项目都有一组特定的权限。

代码语言:javascript
复制
class Bank(models.Model):
    name = models.CharField(max_length=255, unique=True)

    def __unicode__(self):
        return self.name


class Project(models.Model):
    name = models.CharField(max_length=255, null=False)
    launch_date = models.CharField(max_length=20, null=False)
    possession_date = models.CharField(max_length=20, null=False)
    bank = models.ManyToManyField('Bank')

    def __unicode__(self):
        return self.name

class Permissions(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name


class ProjectPermission(models.Model):
    project = models.ForeignKey('Project')
    permission = models.ForeignKey('Permissions')
    value = models.CharField(max_length=255)

    def __unicode__(self):
        return self.project.name

我想将数据从csv导入/导出到此模型。如何在Resource Admin子类中引用项目模型中的权限?

我可以通过以下方式访问权限

代码语言:javascript
复制
project.projectpermission_set.all()

如果project是Project对象。

EN

回答 3

Stack Overflow用户

发布于 2015-07-03 16:26:17

回答你的问题

如何从项目模型引用权限?

如果要对筛选权限的Project objects进行查询,请使用:

代码语言:javascript
复制
Project.objects.filter(projectpermission__permissions__name='whatevervalue').

反之,查询项目上的权限对象过滤:

代码语言:javascript
复制
Permissions.objects.filter(projectpermission__project__name='whatever')

有关如何更方便地命名关系的详细信息,请参阅this

票数 0
EN

Stack Overflow用户

发布于 2019-08-05 20:26:16

我重写了ModelResources的after_row方法来解析和创建反向相关的模型。在我的例子中,它运行得很好。

票数 0
EN

Stack Overflow用户

发布于 2021-08-31 14:04:58

使用dehidrate_permissions,然后,正如@Pynchia所说的那样,

代码语言:javascript
复制
Project.objects.filter(projectpermission__permissions__name='whatevervalue').
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31201025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档