@@ -81,8 +81,7 @@ def create_next_defined_list(
8181 previous_entity_list : EntityList | None ,
8282 new_entity_list : EntityList ,
8383 entity_pks : list [int ],
84- draft_version_pks : list [int | None ],
85- published_version_pks : list [int | None ],
84+ entity_version_pks : list [int | None ],
8685) -> EntityListRow :
8786 """
8887 Create new entity list rows for an entity list.
@@ -91,8 +90,9 @@ def create_next_defined_list(
9190 previous_entity_list: The previous entity list that the new entity list is based on.
9291 new_entity_list: The entity list to create the rows for.
9392 entity_pks: The IDs of the publishable entities that the entity list rows reference.
94- draft_version_pks: The IDs of the draft versions of the entities (PublishableEntityVersion) that the entity list rows reference.
95- published_version_pks: The IDs of the published versions of the entities (PublishableEntityVersion) that the entity list rows reference.
93+ entity_version_pks: The IDs of the draft versions of the entities
94+ (PublishableEntityVersion) that the entity list rows reference, or
95+ Nones for "unpinned" (default).
9696
9797 Returns:
9898 The newly created entity list rows.
@@ -109,8 +109,8 @@ def create_next_defined_list(
109109 current_rows = previous_entity_list .entitylistrow_set .all ()
110110 publishable_entities_in_rows = {row .entity .pk : row for row in current_rows }
111111 new_rows = []
112- for order_num , entity_pk , draft_version_pk , published_version_pk in zip (
113- order_nums , entity_pks , draft_version_pks , published_version_pks
112+ for order_num , entity_pk , entity_version_pk in zip (
113+ order_nums , entity_pks , entity_version_pks
114114 ):
115115 row = publishable_entities_in_rows .get (entity_pk )
116116 if row and row .order_num == order_num :
@@ -121,26 +121,25 @@ def create_next_defined_list(
121121 entity_list = new_entity_list ,
122122 entity_id = entity_pk ,
123123 order_num = order_num ,
124- draft_version_id = draft_version_pk ,
125- published_version_id = published_version_pk ,
124+ entity_version_id = entity_version_pk ,
126125 )
127126 )
128127 EntityListRow .objects .bulk_create (new_rows )
129128 return new_entity_list
130129
131130def create_defined_list_with_rows (
132131 entity_pks : list [int ],
133- draft_version_pks : list [int | None ],
134- published_version_pks : list [int | None ],
132+ entity_version_pks : list [int | None ],
135133) -> EntityList :
136134 """
137135 Create new entity list rows for an entity list.
138136
139137 Args:
140138 entity_list: The entity list to create the rows for.
141139 entity_pks: The IDs of the publishable entities that the entity list rows reference.
142- draft_version_pks: The IDs of the draft versions of the entities (PublishableEntityVersion) that the entity list rows reference.
143- published_version_pks: The IDs of the published versions of the entities (PublishableEntityVersion) that the entity list rows reference.
140+ entity_version_pks: The IDs of the versions of the entities
141+ (PublishableEntityVersion) that the entity list rows reference, or
142+ Nones for "unpinned" (default).
144143
145144 Returns:
146145 The newly created entity list.
@@ -154,11 +153,10 @@ def create_defined_list_with_rows(
154153 entity_list = entity_list ,
155154 entity_id = entity_pk ,
156155 order_num = order_num ,
157- draft_version_id = draft_version_pk ,
158- published_version_id = published_version_pk ,
156+ entity_version_id = entity_version_pk ,
159157 )
160- for order_num , entity_pk , draft_version_pk , published_version_pk in zip (
161- order_nums , entity_pks , draft_version_pks , published_version_pks
158+ for order_num , entity_pk , entity_version_pk in zip (
159+ order_nums , entity_pks , entity_version_pks
162160 )
163161 ]
164162 )
@@ -186,8 +184,7 @@ def get_entity_list_with_pinned_versions(
186184 entity_list = entity_list ,
187185 entity_id = row .entity .id ,
188186 order_num = row .order_num ,
189- draft_version_id = None ,
190- published_version_id = None , # For simplicity, we are not copying the pinned versions
187+ entity_version_id = None , # For simplicity, we are not copying the pinned versions
191188 )
192189 for row in rows
193190 ]
@@ -210,7 +207,7 @@ def check_unpinned_versions_in_defined_list(
210207 """
211208 # Is there a way to short-circuit this?
212209 return any (
213- row .draft_version is None or row . published_version is None
210+ row .entity_version is None
214211 for row in defined_list .entitylistrow_set .all ()
215212 )
216213
@@ -239,8 +236,7 @@ def create_container_version(
239236 version_num : int ,
240237 title : str ,
241238 publishable_entities_pk : list [int ],
242- draft_version_pks : list [int | None ],
243- published_version_pks : list [int | None ],
239+ entity_version_pks : list [int | None ],
244240 entity : PublishableEntity ,
245241 created : datetime ,
246242 created_by : int | None ,
@@ -270,8 +266,7 @@ def create_container_version(
270266 )
271267 defined_list = create_defined_list_with_rows (
272268 entity_pks = publishable_entities_pk ,
273- draft_version_pks = draft_version_pks ,
274- published_version_pks = published_version_pks ,
269+ entity_version_pks = entity_version_pks ,
275270 )
276271 container_version = ContainerEntityVersion .objects .create (
277272 publishable_entity_version = publishable_entity_version ,
@@ -290,8 +285,7 @@ def create_next_container_version(
290285 container_pk : int ,
291286 title : str ,
292287 publishable_entities_pk : list [int ],
293- draft_version_pks : list [int | None ],
294- published_version_pks : list [int | None ],
288+ entity_version_pks : list [int | None ],
295289 entity : PublishableEntity ,
296290 created : datetime ,
297291 created_by : int | None ,
@@ -349,8 +343,7 @@ def create_next_container_version(
349343 previous_entity_list = last_version .defined_list ,
350344 new_entity_list = create_entity_list (),
351345 entity_pks = publishable_entities_pk ,
352- draft_version_pks = draft_version_pks ,
353- published_version_pks = published_version_pks ,
346+ entity_version_pks = entity_version_pks ,
354347 )
355348 next_initial_list = get_entity_list_with_pinned_versions (
356349 rows = next_defined_list .entitylistrow_set .all ()
@@ -385,8 +378,7 @@ def create_container_and_version(
385378 created_by : int | None ,
386379 title : str ,
387380 publishable_entities_pk : list [int ],
388- draft_version_pks : list [int | None ],
389- published_version_pks : list [int | None ],
381+ entity_version_pks : list [int | None ],
390382) -> ContainerEntityVersion :
391383 """
392384 Create a new container and its first version.
@@ -410,8 +402,7 @@ def create_container_and_version(
410402 version_num = 1 ,
411403 title = title ,
412404 publishable_entities_pk = publishable_entities_pk ,
413- draft_version_pks = draft_version_pks ,
414- published_version_pks = published_version_pks ,
405+ entity_version_pks = entity_version_pks ,
415406 entity = container .publishable_entity ,
416407 created = created ,
417408 created_by = created_by ,
@@ -507,8 +498,8 @@ def get_entities_in_draft_container(
507498 defined_list = container .versioning .draft .defined_list
508499 for row in defined_list .entitylistrow_set .order_by ("order_num" ):
509500 entity_list .append (ContainerEntityListEntry (
510- entity_version = row .draft_version or row .entity .draft .version ,
511- pinned = row .draft_version is not None ,
501+ entity_version = row .entity_version or row .entity .draft .version ,
502+ pinned = row .entity_version is not None ,
512503 ))
513504 return entity_list
514505
@@ -535,8 +526,8 @@ def get_entities_in_published_container(
535526 entity_list = []
536527 for row in cev .defined_list .entitylistrow_set .order_by ("order_num" ):
537528 entity_list .append (ContainerEntityListEntry (
538- entity_version = row .published_version or row .entity .published .version ,
539- pinned = row .published_version is not None ,
529+ entity_version = row .entity_version or row .entity .published .version ,
530+ pinned = row .entity_version is not None ,
540531 ))
541532 return entity_list
542533
@@ -572,7 +563,7 @@ def contains_unpublished_changes(
572563 # TODO: This is a naive inefficient implementation but hopefully correct.
573564 # Once we know it's correct and have a good test suite, then we can optimize.
574565 # We will likely change to a tracking-based approach rather than a "scan for changes" based approach.
575- for row in defined_list .entitylistrow_set .filter (draft_version = None ).select_related (
566+ for row in defined_list .entitylistrow_set .filter (entity_version = None ).select_related (
576567 "entity__containerentity" ,
577568 "entity__draft__version" ,
578569 "entity__published__version" ,
0 commit comments