#31609: Add support for Table Function Model
               Reporter:  Petr       |          Owner:  nobody
  Přikryl                            |
                   Type:  New        |         Status:  new
  feature                            |
              Component:  Database   |        Version:
  layer (models, ORM)                |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
 Opening based on discussion here

 == Motivation
 I have some complex database View with CTEs. The problem here is that I
 need only few records from that View. But the View is always evaluated
 completely and limited after that. The solution here is re-writing View as
 Table Function https://stackoverflow.com/questions/11401749/pass-in-where-

 == Proposed usage
 class MyTableFunctionModel(Model)
     parent = models.ForeignKey('self', on_delete=models.DO_NOTHING)

     class Meta:
         db_table = 'my_function'
         table_function_args = [
             TableFunctionArg(name='foo', required=False),
             TableFunctionArg(name='bar', required=False),

 MyTableFunctionModel.objects.table_function(foo=1, bar='value',
 parent__foo=2, parent__bar='cha')

 # SELECT ... FROM my_function(1, 'value') T1 JOIN my_function(2, 'cha') T2
 ON T1.id = T2.parent_id

 Here are some my working experiments

Ticket URL: <https://code.djangoproject.com/ticket/31609>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to