0001_initial.py 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. # Generated by Django 4.0.8 on 2022-11-17 15:14
  2. from django.db import migrations, models
  3. import django.db.models.deletion
  4. import modelcluster.fields
  5. import wagtail.blocks
  6. import wagtail.contrib.typed_table_block.blocks
  7. import wagtail.documents.blocks
  8. import wagtail.embeds.blocks
  9. import wagtail.fields
  10. import wagtail.images.blocks
  11. class Migration(migrations.Migration):
  12. initial = True
  13. dependencies = [
  14. ("wagtailcore", "0078_referenceindex"),
  15. ]
  16. operations = [
  17. migrations.CreateModel(
  18. name="RecipePage",
  19. fields=[
  20. (
  21. "page_ptr",
  22. models.OneToOneField(
  23. auto_created=True,
  24. on_delete=django.db.models.deletion.CASCADE,
  25. parent_link=True,
  26. primary_key=True,
  27. serialize=False,
  28. to="wagtailcore.page",
  29. ),
  30. ),
  31. ("title_1", models.CharField(default="Title 1", max_length=255)),
  32. (
  33. "section_1",
  34. wagtail.fields.StreamField(
  35. [
  36. ("char", wagtail.blocks.CharBlock()),
  37. (
  38. "choice",
  39. wagtail.blocks.ChoiceBlock(
  40. choices=[
  41. ("M", "Medium"),
  42. ("L", "Large"),
  43. ("XL", "Extra large"),
  44. ]
  45. ),
  46. ),
  47. (
  48. "list",
  49. wagtail.blocks.ListBlock(
  50. child_block=wagtail.blocks.CharBlock()
  51. ),
  52. ),
  53. ("page", wagtail.blocks.PageChooserBlock()),
  54. ("text", wagtail.blocks.TextBlock()),
  55. ("rich_text", wagtail.blocks.RichTextBlock()),
  56. ("url", wagtail.blocks.URLBlock()),
  57. (
  58. "document",
  59. wagtail.documents.blocks.DocumentChooserBlock(),
  60. ),
  61. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  62. ("image", wagtail.images.blocks.ImageChooserBlock()),
  63. (
  64. "table",
  65. wagtail.blocks.StructBlock(
  66. [
  67. ("title", wagtail.blocks.CharBlock()),
  68. ("description", wagtail.blocks.TextBlock()),
  69. (
  70. "table",
  71. wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
  72. [
  73. (
  74. "text",
  75. wagtail.blocks.CharBlock(),
  76. ),
  77. (
  78. "numeric",
  79. wagtail.blocks.FloatBlock(),
  80. ),
  81. (
  82. "rich_text",
  83. wagtail.blocks.RichTextBlock(),
  84. ),
  85. (
  86. "image",
  87. wagtail.images.blocks.ImageChooserBlock(),
  88. ),
  89. ]
  90. ),
  91. ),
  92. ]
  93. ),
  94. ),
  95. (
  96. "stream",
  97. wagtail.blocks.StreamBlock(
  98. [
  99. ("page", wagtail.blocks.PageChooserBlock()),
  100. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  101. (
  102. "image",
  103. wagtail.images.blocks.ImageChooserBlock(),
  104. ),
  105. ]
  106. ),
  107. ),
  108. ],
  109. blank=True,
  110. help_text="Section 1 is a StreamField in a regular FieldPanel",
  111. use_json_field=True,
  112. ),
  113. ),
  114. ("title_2", models.CharField(default="Title 2", max_length=255)),
  115. (
  116. "section_2",
  117. wagtail.fields.StreamField(
  118. [
  119. ("char", wagtail.blocks.CharBlock()),
  120. (
  121. "choice",
  122. wagtail.blocks.ChoiceBlock(
  123. choices=[
  124. ("M", "Medium"),
  125. ("L", "Large"),
  126. ("XL", "Extra large"),
  127. ]
  128. ),
  129. ),
  130. (
  131. "list",
  132. wagtail.blocks.ListBlock(
  133. child_block=wagtail.blocks.CharBlock()
  134. ),
  135. ),
  136. ("page", wagtail.blocks.PageChooserBlock()),
  137. ("text", wagtail.blocks.TextBlock()),
  138. ("rich_text", wagtail.blocks.RichTextBlock()),
  139. ("url", wagtail.blocks.URLBlock()),
  140. (
  141. "document",
  142. wagtail.documents.blocks.DocumentChooserBlock(),
  143. ),
  144. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  145. ("image", wagtail.images.blocks.ImageChooserBlock()),
  146. (
  147. "table",
  148. wagtail.blocks.StructBlock(
  149. [
  150. ("title", wagtail.blocks.CharBlock()),
  151. ("description", wagtail.blocks.TextBlock()),
  152. (
  153. "table",
  154. wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
  155. [
  156. (
  157. "text",
  158. wagtail.blocks.CharBlock(),
  159. ),
  160. (
  161. "numeric",
  162. wagtail.blocks.FloatBlock(),
  163. ),
  164. (
  165. "rich_text",
  166. wagtail.blocks.RichTextBlock(),
  167. ),
  168. (
  169. "image",
  170. wagtail.images.blocks.ImageChooserBlock(),
  171. ),
  172. ]
  173. ),
  174. ),
  175. ]
  176. ),
  177. ),
  178. (
  179. "stream",
  180. wagtail.blocks.StreamBlock(
  181. [
  182. ("page", wagtail.blocks.PageChooserBlock()),
  183. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  184. (
  185. "image",
  186. wagtail.images.blocks.ImageChooserBlock(),
  187. ),
  188. ]
  189. ),
  190. ),
  191. ],
  192. blank=True,
  193. help_text="Section 2 is a StreamField in a MultiFieldPanel",
  194. use_json_field=True,
  195. ),
  196. ),
  197. ],
  198. options={
  199. "abstract": False,
  200. },
  201. bases=("wagtailcore.page",),
  202. ),
  203. migrations.CreateModel(
  204. name="Item",
  205. fields=[
  206. (
  207. "id",
  208. models.AutoField(
  209. auto_created=True,
  210. primary_key=True,
  211. serialize=False,
  212. verbose_name="ID",
  213. ),
  214. ),
  215. (
  216. "sort_order",
  217. models.IntegerField(blank=True, editable=False, null=True),
  218. ),
  219. ("title_1", models.CharField(default="Title 1", max_length=255)),
  220. (
  221. "section_1",
  222. wagtail.fields.StreamField(
  223. [
  224. ("char", wagtail.blocks.CharBlock()),
  225. (
  226. "choice",
  227. wagtail.blocks.ChoiceBlock(
  228. choices=[
  229. ("M", "Medium"),
  230. ("L", "Large"),
  231. ("XL", "Extra large"),
  232. ]
  233. ),
  234. ),
  235. (
  236. "list",
  237. wagtail.blocks.ListBlock(
  238. child_block=wagtail.blocks.CharBlock()
  239. ),
  240. ),
  241. ("page", wagtail.blocks.PageChooserBlock()),
  242. ("text", wagtail.blocks.TextBlock()),
  243. ("rich_text", wagtail.blocks.RichTextBlock()),
  244. ("url", wagtail.blocks.URLBlock()),
  245. (
  246. "document",
  247. wagtail.documents.blocks.DocumentChooserBlock(),
  248. ),
  249. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  250. ("image", wagtail.images.blocks.ImageChooserBlock()),
  251. (
  252. "table",
  253. wagtail.blocks.StructBlock(
  254. [
  255. ("title", wagtail.blocks.CharBlock()),
  256. ("description", wagtail.blocks.TextBlock()),
  257. (
  258. "table",
  259. wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
  260. [
  261. (
  262. "text",
  263. wagtail.blocks.CharBlock(),
  264. ),
  265. (
  266. "numeric",
  267. wagtail.blocks.FloatBlock(),
  268. ),
  269. (
  270. "rich_text",
  271. wagtail.blocks.RichTextBlock(),
  272. ),
  273. (
  274. "image",
  275. wagtail.images.blocks.ImageChooserBlock(),
  276. ),
  277. ]
  278. ),
  279. ),
  280. ]
  281. ),
  282. ),
  283. (
  284. "stream",
  285. wagtail.blocks.StreamBlock(
  286. [
  287. ("page", wagtail.blocks.PageChooserBlock()),
  288. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  289. (
  290. "image",
  291. wagtail.images.blocks.ImageChooserBlock(),
  292. ),
  293. ]
  294. ),
  295. ),
  296. ],
  297. blank=True,
  298. help_text="Section 1 is a StreamField in a regular FieldPanel",
  299. use_json_field=True,
  300. ),
  301. ),
  302. ("title_2", models.CharField(default="Title 2", max_length=255)),
  303. (
  304. "section_2",
  305. wagtail.fields.StreamField(
  306. [
  307. ("char", wagtail.blocks.CharBlock()),
  308. (
  309. "choice",
  310. wagtail.blocks.ChoiceBlock(
  311. choices=[
  312. ("M", "Medium"),
  313. ("L", "Large"),
  314. ("XL", "Extra large"),
  315. ]
  316. ),
  317. ),
  318. (
  319. "list",
  320. wagtail.blocks.ListBlock(
  321. child_block=wagtail.blocks.CharBlock()
  322. ),
  323. ),
  324. ("page", wagtail.blocks.PageChooserBlock()),
  325. ("text", wagtail.blocks.TextBlock()),
  326. ("rich_text", wagtail.blocks.RichTextBlock()),
  327. ("url", wagtail.blocks.URLBlock()),
  328. (
  329. "document",
  330. wagtail.documents.blocks.DocumentChooserBlock(),
  331. ),
  332. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  333. ("image", wagtail.images.blocks.ImageChooserBlock()),
  334. (
  335. "table",
  336. wagtail.blocks.StructBlock(
  337. [
  338. ("title", wagtail.blocks.CharBlock()),
  339. ("description", wagtail.blocks.TextBlock()),
  340. (
  341. "table",
  342. wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
  343. [
  344. (
  345. "text",
  346. wagtail.blocks.CharBlock(),
  347. ),
  348. (
  349. "numeric",
  350. wagtail.blocks.FloatBlock(),
  351. ),
  352. (
  353. "rich_text",
  354. wagtail.blocks.RichTextBlock(),
  355. ),
  356. (
  357. "image",
  358. wagtail.images.blocks.ImageChooserBlock(),
  359. ),
  360. ]
  361. ),
  362. ),
  363. ]
  364. ),
  365. ),
  366. (
  367. "stream",
  368. wagtail.blocks.StreamBlock(
  369. [
  370. ("page", wagtail.blocks.PageChooserBlock()),
  371. ("embed", wagtail.embeds.blocks.EmbedBlock()),
  372. (
  373. "image",
  374. wagtail.images.blocks.ImageChooserBlock(),
  375. ),
  376. ]
  377. ),
  378. ),
  379. ],
  380. blank=True,
  381. help_text="Section 2 is a StreamField in a MultiFieldPanel",
  382. use_json_field=True,
  383. ),
  384. ),
  385. (
  386. "page",
  387. modelcluster.fields.ParentalKey(
  388. on_delete=django.db.models.deletion.CASCADE,
  389. related_name="items",
  390. to="recipes.recipepage",
  391. ),
  392. ),
  393. ],
  394. options={
  395. "ordering": ["sort_order"],
  396. "abstract": False,
  397. },
  398. ),
  399. ]