Skip to main content

Django view for querying data

Project description

Django view for querying data

Installation

To get the latest stable release from PyPi

pip install django-query-view

Usage

Set up models

from django.db import models
from taggit.managers import TaggableManager
from taggit.models import TaggedItemBase
from query_view.models import TypedTag
from query_view.models import make_typed_tag_tagged_model

class TaggedThing(TaggedItemBase):
    content_object = models.ForeignKey('Thing', on_delete=models.CASCADE)


class Thing(models.Model):
    name = models.CharField(max_length=200)
    is_good = models.BooleanField()

    tags = TaggableManager(through=TaggedThing, blank=True)

    def __str__(self):
        return self.name

# Subclass TypedTag
class ActorTypedTag(TypedTag):
    pass

# Create your tagged model like this
ActorTaggedThing = make_typed_tag_tagged_model('ActorTaggedThing', ActorTypedTag, Thing, app_label='testproject')

# Or like this
class ActorTaggedThing(TaggedItemBase):
    typed_tag = models.ForeignKey(
        ActorTypedTag,
        related_name="%(app_label)s_%(class)s_items",
        on_delete=models.CASCADE,
    )
    content_object = models.ForeignKey(Thing, on_delete=models.CASCADE)

    class Meta:
        unique_together = ['typed_tag', 'content_object']

Create a typed tagged item

t = Tag.objects.get(name='clint eastwood')
ActorTaggedThing.objects.create(content_object=thing, typed_tag=t.actortypedtag)

Run the test project

python manage.py migrate
python manage.py loaddata testproject/fixtures/tag_thing.json
python manage.py runserver

Dump fixture

python manage.py dumpdata --indent 4 testproject.Thing testproject.TaggedThing taggit.Tag testproject.LanguageTypedTag testproject.LanguageTaggedThing testproject.DirectorTypedTag testproject.DirectorTaggedThing testproject.ActorTypedTag testproject.ActorTaggedThing --output testproject/fixtures/tag_thing.json

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_query_view-0.1.6.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

django_query_view-0.1.6-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file django_query_view-0.1.6.tar.gz.

File metadata

  • Download URL: django_query_view-0.1.6.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.18 Darwin/22.6.0

File hashes

Hashes for django_query_view-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0e92b0217b1cfc77ed0cbaa99ef027523657d20640fd31eece100a14c976cd24
MD5 cd56eca21778edae3e7303d8f12f4dd5
BLAKE2b-256 17459899551628be000fa9a23f0f502df500b54f51f445cf1a5526b2045ba991

See more details on using hashes here.

File details

Details for the file django_query_view-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for django_query_view-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bae9f82c58ef9d7f5560954958b3a34391530dd2f5b11ffca2dbfb3569c4662c
MD5 2c14587208ad660028d17b0a4028f23c
BLAKE2b-256 1f50a49f17a4ae8df9b6c89ed9f9751327f1a386dbef451042e757dbdbab6c13

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page