Skip to main content

Django query evaluator, is built on top of XFormula language front-end.

Project description

django-xformula

Django query evaluator, is built on top of XFormula language front-end.


This project is still in development.

If you're interested, you may check the note in XFormula repository.


Features:

  • Bidirectional operators
    • Same syntax for both Python and Django query evaluation
    • Operations contain at least one QuerySet, will be evaluated as QuerySet
    • Operations contain at least one Q, will be evaluated as Q
    • Operations contain at least one Combinable, will be evaluated as Combinable
    • Operations contain at least one Field, will be evaluated as Combinable
    • Operations contain at least one Model instance, will be evaluated as Value which contains the model instance's primary key
    • Other operations work like how Python does
  • Zero built-in variable by defaults
    • When a variable name is used but does not exist in the specified built-ins, it will be evaluated as F object
  • Customizable attribute getter; manage which attributes can be used in formulas (Getting an attribute of an object is forbidden by default, and raises ForbiddenAttribute error which inherits Django's PermissionDenied class)
  • Customizable caller; manage which functions can be called in formulas (Calling a callable is forbidden by default, and raises ForbiddenCall error which inherits Django's PermissionDenied class)

License

MIT

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_xformula-0.1.3.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distribution

django_xformula-0.1.3-py3-none-any.whl (13.2 kB view hashes)

Uploaded Python 3

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