Code

Opened 5 years ago

Closed 5 years ago

Last modified 3 years ago

#10109 closed (fixed)

Move raw sql from models.fields.related to models.sql.query

Reported by: david Owned by: Alex
Component: Database layer (models, ORM) Version: 1.0
Severity: Keywords:
Cc: artagnon, jezdez, arikon Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

Otherwise backends which do not rely on sql can't use many-to-many relations as discussed here:
http://groups.google.com/group/django-developers/browse_thread/thread/c3cd2eb4f63aed5d/6e8de9e05424d18f
(do not care with messages from people that doesn't know how to use reply-to on mailing-lists)

Now let's discuss around the proposed patch.

Attachments (5)

patch_django_10109.20090123.diff (14.3 KB) - added by david 5 years ago.
Initial patch, without any documentation nor tests, design discussion for now
patch_django_10109.20090422.diff (14.7 KB) - added by david 5 years ago.
Update patch against r10618
m2m-refactor.r11683.diff (58.8 KB) - added by russellm 5 years ago.
RC1 of the m2m refactor stemming from Alex's GSoC 2009 project
m2m-refactor.r11683.2.diff (61.6 KB) - added by russellm 5 years ago.
RC2 of m2m-refactor patch. Incorporates fix for abstract base classes.
m2m-refactor.r11705.diff (61.7 KB) - added by russellm 5 years ago.
RC3 for m2m-refactor patch. Incorporates unique_together fix.

Download all attachments as: .zip

Change History (18)

Changed 5 years ago by david

Initial patch, without any documentation nor tests, design discussion for now

comment:1 Changed 5 years ago by david

  • Needs documentation set
  • Needs tests set
  • Patch needs improvement unset

comment:2 Changed 5 years ago by jacob

  • Triage Stage changed from Unreviewed to Accepted

This needs to happen as part of a bigger refactor of related fields.

comment:3 Changed 5 years ago by artagnon

  • Cc artagnon added

comment:4 Changed 5 years ago by Alex

Noting here that this(or some variant thereof) is going to be a blocker on having many to many fields work correctly with Multiple Database support(GSOC).

Changed 5 years ago by david

Update patch against r10618

comment:5 Changed 5 years ago by david

  • Owner changed from david to Alex

For the record:

[15:43]  <Alex_Gaynor> david`bgk: bitchin!  
There's probably no time for that to go in before 1.1.  
But if you remind me I'll bug the shit out of jacobkm 
and russ to get it in fterwords

I'll ping you anyway.

comment:6 Changed 5 years ago by russellm

See #11795 for a related request that this ticket may make possible.

comment:7 Changed 5 years ago by jezdez

  • Cc jezdez added

comment:8 Changed 5 years ago by arikon

  • Cc arikon added

Changed 5 years ago by russellm

RC1 of the m2m refactor stemming from Alex's GSoC 2009 project

comment:9 Changed 5 years ago by russellm

The patch I have just uploaded is ready for trunk. The code is also available on Alex Gaynor's github branch

My intention is to commit this mid next week. Feedback is welcome.

comment:10 Changed 5 years ago by russellm

  • milestone set to 1.2
  • Needs documentation unset
  • Needs tests unset

Changed 5 years ago by russellm

RC2 of m2m-refactor patch. Incorporates fix for abstract base classes.

comment:11 Changed 5 years ago by emulbreh

Another small issue: Intermediary models should have 'unique_together': (from_, to), to match the old behaviour.

Changed 5 years ago by russellm

RC3 for m2m-refactor patch. Incorporates unique_together fix.

comment:12 Changed 5 years ago by russellm

  • Resolution set to fixed
  • Status changed from new to closed

(In [11710]) Fixed #10109 -- Removed the use of raw SQL in many-to-many fields by introducing an autogenerated through model.

This is the first part of Alex Gaynor's GSoC project to add Multi-db support to Django.

comment:13 Changed 3 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.