QuickReport Model Fields

date_field

DateTimeField of your model which is set automatically when new object is created.

report_set

List of reports of a model. For each report in a model, you should define a unique name and a Q objects.

  • name: Unique report name of related model
  • query: Django Q objects.

For example,

class Article(models.Model):
    class Status:
        DRAFT = 0
        PUBLISHED = 1
        CHOICES = [(DRAFT, "Draft"), (PUBLISHED, "Published")]

    title = models.CharField(max_length=190)
    body = models.TextField()
    slug = models.SlugField(max_length=190)
    status = models.IntegerField(choices=Status.CHOICES, default=Status.DRAFT)
    author = models.ForeignKey(User)
    created_at = models.DateTimeField(default=timezone.now)

    class QuickReport():
        date_field = "created_at"
        report_set = (
            {
                "name": "Published",
                "query": Q(status=1)
            },
            {
                "name": "Drafts",
                "query": Q(status=0)
            },
        )
_images/sample_report2.png