Skip to content

Commit 155a4cf

Browse files
committed
Make dummy app models publishable for testing
1 parent 4d8450c commit 155a4cf

File tree

5 files changed

+141
-3
lines changed

5 files changed

+141
-3
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Generated by Django 4.2.23 on 2026-01-21 10:39
2+
3+
import uuid
4+
5+
from django.db import migrations
6+
from django.db import models
7+
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
8+
from django.db.migrations.state import StateApps
9+
10+
11+
def generate_unique_uid(
12+
apps: StateApps, schema_editor: BaseDatabaseSchemaEditor
13+
) -> None:
14+
person = apps.get_model("app", "Person")
15+
16+
for p in person.objects.all():
17+
p.uid = uuid.uuid4()
18+
p.save()
19+
20+
21+
class Migration(migrations.Migration):
22+
23+
dependencies = [
24+
("app", "0005_electiondistrict_person_election_district"),
25+
]
26+
27+
operations = [
28+
migrations.AddField(
29+
model_name="person",
30+
name="is_public",
31+
field=models.BooleanField(default=False, verbose_name="Öffentlich"),
32+
),
33+
migrations.AddField(
34+
model_name="person",
35+
name="published_date",
36+
field=models.DateTimeField(
37+
blank=True, null=True, verbose_name="Erstmals Veröffentlicht"
38+
),
39+
),
40+
migrations.AddField(
41+
model_name="person",
42+
name="republished_date",
43+
field=models.DateTimeField(
44+
blank=True, null=True, verbose_name="Letzte Veröffentlichung"
45+
),
46+
),
47+
migrations.AddField(
48+
model_name="person",
49+
name="uid",
50+
field=models.UUIDField(
51+
default=uuid.uuid4, editable=False, null=True, verbose_name="UID"
52+
),
53+
),
54+
migrations.RunPython(
55+
code=generate_unique_uid, reverse_code=migrations.RunPython.noop
56+
),
57+
migrations.AlterField(
58+
model_name="person",
59+
name="uid",
60+
field=models.UUIDField(
61+
default=uuid.uuid4, editable=False, unique=True, verbose_name="UID"
62+
),
63+
),
64+
]
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Generated by Django 4.2.23 on 2026-01-21 10:55
2+
3+
import uuid
4+
5+
from django.db import migrations
6+
from django.db import models
7+
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
8+
from django.db.migrations.state import StateApps
9+
10+
11+
def generate_unique_uid(
12+
apps: StateApps, schema_editor: BaseDatabaseSchemaEditor
13+
) -> None:
14+
address = apps.get_model("app", "Address")
15+
16+
for a in address.objects.all():
17+
a.uid = uuid.uuid4()
18+
a.save()
19+
20+
21+
class Migration(migrations.Migration):
22+
23+
dependencies = [
24+
("app", "0006_make_person_publishable_by_bool"),
25+
]
26+
27+
operations = [
28+
migrations.AddField(
29+
model_name="address",
30+
name="is_public",
31+
field=models.BooleanField(default=False, verbose_name="Öffentlich"),
32+
),
33+
migrations.AddField(
34+
model_name="address",
35+
name="published_date",
36+
field=models.DateTimeField(
37+
blank=True, null=True, verbose_name="Erstmals Veröffentlicht"
38+
),
39+
),
40+
migrations.AddField(
41+
model_name="address",
42+
name="republished_date",
43+
field=models.DateTimeField(
44+
blank=True, null=True, verbose_name="Letzte Veröffentlichung"
45+
),
46+
),
47+
migrations.AddField(
48+
model_name="address",
49+
name="uid",
50+
field=models.UUIDField(
51+
default=uuid.uuid4, editable=False, null=True, verbose_name="UID"
52+
),
53+
),
54+
migrations.RunPython(
55+
code=generate_unique_uid, reverse_code=migrations.RunPython.noop
56+
),
57+
migrations.AlterField(
58+
model_name="address",
59+
name="uid",
60+
field=models.UUIDField(
61+
default=uuid.uuid4, editable=False, unique=True, verbose_name="UID"
62+
),
63+
),
64+
]

app/migrations/max_migration.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0005_electiondistrict_person_election_district
1+
0007_make_address_publishable_by_bool

app/models/address.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
from django.db import models
44

55
from django_features.custom_fields.models import CustomFieldBaseModel
6+
from django_features.custom_fields.models.base import CustomFieldModelBaseManager
7+
from django_features.publisher.models import PublishableByBoolModel
8+
from django_features.publisher.models import PublishableByBoolQuerySet
69

710

8-
class Address(CustomFieldBaseModel):
11+
class Address(CustomFieldBaseModel, PublishableByBoolModel):
912
city = models.CharField(verbose_name="city", blank=True)
1013
country = models.CharField(verbose_name="country", blank=True)
1114
street = models.CharField(verbose_name="street", blank=True)
@@ -18,6 +21,8 @@ class Address(CustomFieldBaseModel):
1821
)
1922
target_id = models.PositiveIntegerField(blank=True, null=True)
2023

24+
objects = CustomFieldModelBaseManager.from_queryset(PublishableByBoolQuerySet)()
25+
2126
class Meta:
2227
verbose_name = "Address"
2328
verbose_name_plural = "Addresses"

app/models/person.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
from django.db import models
33

44
from django_features.custom_fields.models import CustomFieldBaseModel
5+
from django_features.custom_fields.models.base import CustomFieldModelBaseManager
56
from django_features.custom_fields.models.base import CustomFieldTypeBaseModel
7+
from django_features.publisher.models import PublishableByBoolModel
8+
from django_features.publisher.models import PublishableByBoolQuerySet
69

710

811
class PersonType(CustomFieldTypeBaseModel):
@@ -13,7 +16,7 @@ class Meta:
1316
verbose_name_plural = "Person types"
1417

1518

16-
class Person(CustomFieldBaseModel):
19+
class Person(CustomFieldBaseModel, PublishableByBoolModel):
1720
_custom_field_type_attr = "person_type"
1821

1922
addresses = GenericRelation("Address", "target_id", "target_type")
@@ -44,6 +47,8 @@ class Person(CustomFieldBaseModel):
4447
related_name="persons",
4548
)
4649

50+
objects = CustomFieldModelBaseManager().from_queryset(PublishableByBoolQuerySet)()
51+
4752
class Meta:
4853
verbose_name = "Person"
4954
verbose_name_plural = "Persons"

0 commit comments

Comments
 (0)