Changes between Version 2 and Version 4 of Ticket #35941
- Timestamp:
- Nov 29, 2024, 7:09:54 AM (6 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #35941
- Property Owner set to
- Property Status new → assigned
-
Ticket #35941 – Description
v2 v4 9 9 3. JOINs can be achieved with JSON functions (varies per db backend) 10 10 11 If anyone is interested, I have a proof of concept available on my [https://github.com/csirmazbendeguz/django/pull/9 GitHub] (it's an out of sync draft right now, I'll submit a proper PR once composite primary keys are merged).12 13 11 **Risks:** 14 12 15 1.What if someone is using a JSON array as the primary key (but it's not a composite primary key)?13 What if someone is using a JSON array as the primary key (but it's not a composite primary key)? 16 14 ''Before deserializing the JSON array, we need to check if the content type has a composite primary key or not.'' 17 2. What if the db backend doesn't support JSON functions? 15 16 What if the db backend doesn't support JSON functions? 18 17 ''All supported databases support JSON functions.'' 19 18 20 19 **Notes:** 21 20 22 Django admin's `LogEntry` has its own implementation of "generic foreign keys". 23 The approach we take with `GenericForeignKey` should also apply to `LogEntry`. 21 1. JOINs must work with Unicode characters 22 2. int, date, datetime, uuid, text fields must be supported 23 3. Django admin's `LogEntry` has its own implementation of "generic foreign keys". The approach we take with `GenericForeignKey` should also apply to `LogEntry`. 24 24 25 If someone has a better proposal or feedback on my proposal I would be happy to hear it. 25 Any feedback is appreciated!