Пример #1
0
class StudentGroup(DjangoObjectType):
    msl_group = graphene.Field(MSLStudentGroup)
    group_id = graphene.Int()
    awards = graphene.List(AwardPeriod)

    class Meta:
        model = models.StudentGroup
        interfaces = (graphene.Node, )

    def resolve_msl_group(self, info):
        try:
            return self.msl_group
        except models.MSLStudentGroup.DoesNotExist:
            return None

    def resolve_group_id(self, info):
        return self.pk

    def resolve_awards(self, info):
        x = models.GroupAwarded.objects.select_related('award').filter(
            group=self)

        return models.AwardPeriod.objects.select_related(
            'authority').prefetch_related(
                Prefetch(
                    'awarded', queryset=x,
                    to_attr='awards')).filter(awarded__group=self).distinct()


StudentGroup.Connection = create_connection(StudentGroup)
Пример #2
0
    body_html = graphene.String()
    event_id = graphene.Int()
    children = graphene.List(lambda: Event)
    parent = graphene.Field(lambda: Event)
    msl_event_id = graphene.Int()

    class Meta:
        model = models.Event
        interfaces = (graphene.Node, )

    def resolve_body_html(self, info):
        return expand_db_html(self.body)

    def resolve_event_id(self, info):
        return self.pk

    def resolve_msl_event_id(self, info):
        return self.get_msl_event_id()

    def resolve_student_group(self, info):
        return self.student_group

    def resolve_children(self, info):
        return self.children.all()

    def resolve_parent(self, info):
        return self.parent


Event.Connection = create_connection(Event)
Пример #3
0
    def resolve_name(self, info):
        return self.label.name

    class Meta:
        model = models.ImageLabelThrough
        interfaces = (graphene.Node, )


class Image(DjangoObjectType):
    resource = graphene.String()
    media_id = graphene.Int()
    labels = DjangoConnectionField(ImageLabel)

    def resolve_resource(self, info):
        return self.file.name

    def resolve_media_id(self, info):
        return self.pk

    def resolve_labels(self, info):
        return models.ImageLabelThrough.objects.select_related('label') \
            .filter(image=self).order_by('-confidence')

    class Meta:
        model = models.MatteImage
        interfaces = (graphene.Node, )


Image.Connection = create_connection(Image)
Пример #4
0
        model = models.Listing
        interfaces = (graphene.Node, )
        filter_fields = ['section', 'book_title', 'book_author']

    def resolve_pk(self, info):
        return self.pk

    def resolve_image(self, info):
        return self.featured_image()

    def resolve_listing_user(self, info):
        return self.listing_user

    def resolve_contact_details(self, info):
        if not info.context.user.is_authenticated or not self.can_see_contact_details(info.context.user):
            return None
        else:
            return self.contact_details

MarketListing.connection = create_connection(MarketListing)


class MarketListingSection(DjangoObjectType):
    class Meta:
        model = models.ListingSection

    pk = graphene.Int()

    def resolve_pk(self, info):
        return self.pk