Tôi có hai mô hình được liên kết bởi một mô hình khác thông qua mối quan hệ nhiều đến nhiều.Tastypie, lọc nhiều mối quan hệ
Dưới đây là các mô hình tự
class Posts(models.Model):
id = models.CharField(max_length=108, primary_key=True)
tags = models.ManyToManyField('Tags', through='PostTags')
class Tags(models.Model):
id = models.CharField(max_length=108, primary_key=True)
posts = models.ManyToManyField('Posts', through='PostTags')
class PostTags(models.Model):
id = models.CharField(max_length=108, primary_key=True)
deleted = models.IntegerField()
post_id = models.ForeignKey('Posts', db_column='post_field')
tag_id = models.ForeignKey('Tags', db_column='tag_field')
Và các nguồn lực tastypie
class PostsResource(ModelResource):
tags = fields.ToManyField('django_app.api.TagsResource', 'tags', null=True)
class Meta:
queryset = Posts.objects.filter(deleted=0)
resource_name = 'posts'
class TagsResource(ModelResource):
posts = fields.ToManyField('django_app.api.PostsResource', 'posts', null=True)
class Meta:
queryset = Tags.objects.filter(deleted=0)
resource_name = 'tags'
Trên bảng posttags có một lá cờ xóa, là nó có thể kết quả chỉ trả lại liên kết khi lá cờ xóa trong PostTags là 0?
Tôi đã thử this thuộc tính lọc trong chế độ ăn ngon nhưng dường như chỉ quan tâm đến cờ trong bảng được nối kết (ví dụ: thẻ hoặc bài đăng) chứ không phải bảng thực tế đang thực hiện liên kết.
bạn đã thử 'queryset = Posts.objects.filter (posttags__deleted = 0) 'trong Meta cho mỗi tài nguyên? – astevanovic
Thật kỳ quặc, một nửa hoạt động. Như trong nếu tôi in queryset.query, nó đang thực hiện câu lệnh SQL đúng (như trong nó có nơi xóa = 0). Nhưng kết quả trả về thông qua yêu cầu api vẫn có vẻ bỏ qua lá cờ. – Shane