[{"data":1,"prerenderedAt":14172},["ShallowReactive",2],{"navigation":3,"/models-and-databases/fixtures":1016,"/models-and-databases/fixtures-surround":14167},[4,54,89,123,165,211,253,331,389,439,462,488,514,540,578,624,650,672,702,736,774,800,850,856,862,868,874,928],{"title":5,"path":6,"stem":7,"children":8},"Introduction and Foundations","/introduction-and-foundations","01.introduction-and-foundations/01.index",[9,10,14,18,22,26,30,34,38,42,46,50],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"What is Django","/introduction-and-foundations/what-is-django","01.introduction-and-foundations/02.what-is-django",{"title":15,"path":16,"stem":17},"Key Concepts and Philosophy","/introduction-and-foundations/key-concepts-and-philosophy","01.introduction-and-foundations/03.key-concepts-and-philosophy",{"title":19,"path":20,"stem":21},"MVC vs MVT: Understanding Django's Architecture","/introduction-and-foundations/mvc-vs-mvt","01.introduction-and-foundations/04.mvc-vs-mvt",{"title":23,"path":24,"stem":25},"Project Structure Overview","/introduction-and-foundations/project-structure-overview","01.introduction-and-foundations/05.project-structure-overview",{"title":27,"path":28,"stem":29},"Installing Django","/introduction-and-foundations/installing-django","01.introduction-and-foundations/06.installing-django",{"title":31,"path":32,"stem":33},"Creating Your First Django Project","/introduction-and-foundations/creating-first-project","01.introduction-and-foundations/07.creating-first-project",{"title":35,"path":36,"stem":37},"Creating Your First Django App","/introduction-and-foundations/creating-first-app","01.introduction-and-foundations/08.creating-first-app",{"title":39,"path":40,"stem":41},"Your First Django \"Hello World\"","/introduction-and-foundations/hello-world","01.introduction-and-foundations/09.hello-world",{"title":43,"path":44,"stem":45},"Django Quick Start Guide","/introduction-and-foundations/quick-start-guide","01.introduction-and-foundations/10.quick-start-guide",{"title":47,"path":48,"stem":49},"How Django Handles Requests","/introduction-and-foundations/how-django-handles-requests","01.introduction-and-foundations/11.how-django-handles-requests",{"title":51,"path":52,"stem":53},"Django Settings","/introduction-and-foundations/django-settings","01.introduction-and-foundations/12.django-settings",{"title":55,"path":56,"stem":57,"children":58},"The Development Environment","/development-environment","02.development-environment/1.index",[59,61,65,69,73,77,81,85],{"title":60,"path":56,"stem":57},"Development Environment",{"title":62,"path":63,"stem":64},"Recommended Tooling for Django Development","/development-environment/recommended-tooling","02.development-environment/2.recommended-tooling",{"title":66,"path":67,"stem":68},"Virtual Environments","/development-environment/virtual-environments","02.development-environment/3.virtual-environments",{"title":70,"path":71,"stem":72},"Django Admin and Management Commands","/development-environment/admin-and-management-commands","02.development-environment/4.admin-and-management-commands",{"title":74,"path":75,"stem":76},"Django Project Settings","/development-environment/project-settings","02.development-environment/5.project-settings",{"title":78,"path":79,"stem":80},"Managing Django Environments: Local, Staging, and Production","/development-environment/environments-local-staging-production","02.development-environment/6.environments-local-staging-production",{"title":82,"path":83,"stem":84},"Running Django Development Server","/development-environment/running-development-server","02.development-environment/7.running-development-server",{"title":86,"path":87,"stem":88},"Working with Django Shell","/development-environment/working-with-shell","02.development-environment/8.working-with-shell",{"title":90,"path":91,"stem":92,"children":93},"Templates and Presentation Layer","/templates-and-presentation","03.templates-and-presentation/1.index",[94,95,99,103,107,111,115,119],{"title":90,"path":91,"stem":92},{"title":96,"path":97,"stem":98},"Introduction to Django Templates","/templates-and-presentation/introduction-to-templates","03.templates-and-presentation/2.introduction-to-templates",{"title":100,"path":101,"stem":102},"The Django Template Language","/templates-and-presentation/django-template-language","03.templates-and-presentation/3.django-template-language",{"title":104,"path":105,"stem":106},"Template Inheritance","/templates-and-presentation/template-inheritance","03.templates-and-presentation/4.template-inheritance",{"title":108,"path":109,"stem":110},"Built-in Template Tags and Filters","/templates-and-presentation/built-in-template-tags-and-filters","03.templates-and-presentation/5.built-in-template-tags-and-filters",{"title":112,"path":113,"stem":114},"Including Static Files","/templates-and-presentation/including-static-files","03.templates-and-presentation/6.including-static-files",{"title":116,"path":117,"stem":118},"Working with Media Files","/templates-and-presentation/working-with-media-files","03.templates-and-presentation/7.working-with-media-files",{"title":120,"path":121,"stem":122},"Using Alternative Template Engines","/templates-and-presentation/using-alternative-template-engines","03.templates-and-presentation/8.using-alternative-template-engines",{"title":124,"path":125,"stem":126,"children":127},"URLs and Views","/urls-and-views","04.urls-and-views/01.index",[128,129,133,137,141,145,149,153,157,161],{"title":124,"path":125,"stem":126},{"title":130,"path":131,"stem":132},"The URL Dispatcher","/urls-and-views/the-url-dispatcher","04.urls-and-views/02.the-url-dispatcher",{"title":134,"path":135,"stem":136},"Writing Function-Based Views","/urls-and-views/writing-function-based-views","04.urls-and-views/03.writing-function-based-views",{"title":138,"path":139,"stem":140},"View Decorators","/urls-and-views/view-decorators","04.urls-and-views/04.view-decorators",{"title":142,"path":143,"stem":144},"Rendering Responses","/urls-and-views/rendering-responses","04.urls-and-views/05.rendering-responses",{"title":146,"path":147,"stem":148},"Redirects","/urls-and-views/redirects","04.urls-and-views/06.redirects",{"title":150,"path":151,"stem":152},"Handling HTTP Methods","/urls-and-views/handling-http-methods","04.urls-and-views/07.handling-http-methods",{"title":154,"path":155,"stem":156},"Conditional View Processing","/urls-and-views/conditional-view-processing","04.urls-and-views/08.conditional-view-processing",{"title":158,"path":159,"stem":160},"File Uploads","/urls-and-views/file-uploads","04.urls-and-views/09.file-uploads",{"title":162,"path":163,"stem":164},"Using Django Shortcut Functions","/urls-and-views/using-django-shortcut-functions","04.urls-and-views/10.using-django-shortcut-functions",{"title":166,"path":167,"stem":168,"children":169},"Class Based Views","/class-based-views","05.class-based-views/01.index",[170,171,175,179,183,187,191,195,199,203,207],{"title":166,"path":167,"stem":168},{"title":172,"path":173,"stem":174},"Introduction to Class-Based Views","/class-based-views/introduction-to-class-based-views","05.class-based-views/02.introduction-to-class-based-views",{"title":176,"path":177,"stem":178},"Common Base Classes","/class-based-views/common-base-classes","05.class-based-views/03.common-base-classes",{"title":180,"path":181,"stem":182},"Built-in Generic Views","/class-based-views/built-in-generic-views","05.class-based-views/04.built-in-generic-views",{"title":184,"path":185,"stem":186},"Views for CRUD Operations","/class-based-views/views-for-crud-operations","05.class-based-views/05.views-for-crud-operations",{"title":188,"path":189,"stem":190},"Handling Forms with Class-Based Views","/class-based-views/handling-forms-with-class-based-views","05.class-based-views/06.handling-forms-with-class-based-views",{"title":192,"path":193,"stem":194},"Using Mixins","/class-based-views/using-mixins","05.class-based-views/07.using-mixins",{"title":196,"path":197,"stem":198},"URL Configuration with Class-Based Views","/class-based-views/url-configuration-with-class-based-views","05.class-based-views/08.url-configuration-with-class-based-views",{"title":200,"path":201,"stem":202},"Subclassing Generic Views","/class-based-views/subclassing-generic-views","05.class-based-views/09.subclassing-generic-views",{"title":204,"path":205,"stem":206},"Asynchronous Class-Based Views","/class-based-views/asynchronous-class-based-views","05.class-based-views/10.asynchronous-class-based-views",{"title":208,"path":209,"stem":210},"Pagination","/class-based-views/pagination","05.class-based-views/11.pagination",{"title":212,"path":213,"stem":214,"children":215},"Forms and User Input","/forms-and-user-input","06.forms-and-user-input/01.index",[216,217,221,225,229,233,237,241,245,249],{"title":212,"path":213,"stem":214},{"title":218,"path":219,"stem":220},"Understanding HTML Forms","/forms-and-user-input/understanding-html-forms","06.forms-and-user-input/02.understanding-html-forms",{"title":222,"path":223,"stem":224},"Django's Role in Form Handling","/forms-and-user-input/djangos-role-in-form-handling","06.forms-and-user-input/03.djangos-role-in-form-handling",{"title":226,"path":227,"stem":228},"Creating Forms with Forms API","/forms-and-user-input/creating-forms-with-forms-api","06.forms-and-user-input/04.creating-forms-with-forms-api",{"title":230,"path":231,"stem":232},"Form Validation","/forms-and-user-input/form-validation","06.forms-and-user-input/05.form-validation",{"title":234,"path":235,"stem":236},"Built-in Fields and Widgets","/forms-and-user-input/built-in-fields-and-widgets","06.forms-and-user-input/06.built-in-fields-and-widgets",{"title":238,"path":239,"stem":240},"Form Rendering in Templates","/forms-and-user-input/form-rendering-in-templates","06.forms-and-user-input/07.form-rendering-in-templates",{"title":242,"path":243,"stem":244},"Model Forms","/forms-and-user-input/model-forms","06.forms-and-user-input/08.model-forms",{"title":246,"path":247,"stem":248},"Advanced Form Techniques","/forms-and-user-input/advanced-form-techniques","06.forms-and-user-input/09.advanced-form-techniques",{"title":250,"path":251,"stem":252},"Security Considerations for Forms","/forms-and-user-input/security-considerations-for-forms","06.forms-and-user-input/10.security-considerations-for-forms",{"title":254,"path":255,"stem":256,"children":257},"Models and Databases","/models-and-databases","07.models-and-databases/01.index",[258,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327],{"title":254,"path":255,"stem":256},{"title":260,"path":261,"stem":262},"Understanding Django Models","/models-and-databases/understanding-django-models","07.models-and-databases/02.understanding-django-models",{"title":264,"path":265,"stem":266},"Defining Fields","/models-and-databases/defining-fields","07.models-and-databases/03.defining-fields",{"title":268,"path":269,"stem":270},"Relationships and Foreign Keys","/models-and-databases/relationships-and-foreign-keys","07.models-and-databases/04.relationships-and-foreign-keys",{"title":272,"path":273,"stem":274},"Examples of Relationship Patterns","/models-and-databases/examples-of-relationship-patterns","07.models-and-databases/05.examples-of-relationship-patterns",{"title":276,"path":277,"stem":278},"Making Queries","/models-and-databases/making-queries","07.models-and-databases/06.making-queries",{"title":280,"path":281,"stem":282},"Filtering, Ordering, and Slicing","/models-and-databases/filtering-ordering-slicing","07.models-and-databases/07.filtering-ordering-slicing",{"title":284,"path":285,"stem":286},"Managers and QuerySets","/models-and-databases/managers-and-querysets","07.models-and-databases/08.managers-and-querysets",{"title":288,"path":289,"stem":290},"Aggregation","/models-and-databases/aggregation","07.models-and-databases/09.aggregation",{"title":292,"path":293,"stem":294},"Search","/models-and-databases/search","07.models-and-databases/10.search",{"title":296,"path":297,"stem":298},"Raw SQL Queries","/models-and-databases/raw-sql-queries","07.models-and-databases/11.raw-sql-queries",{"title":300,"path":301,"stem":302},"Transactions","/models-and-databases/transactions","07.models-and-databases/12.transactions",{"title":304,"path":305,"stem":306},"Multiple Databases","/models-and-databases/multiple-databases","07.models-and-databases/13.multiple-databases",{"title":308,"path":309,"stem":310},"Tablespaces","/models-and-databases/tablespaces","07.models-and-databases/14.tablespaces",{"title":312,"path":313,"stem":314},"Composite Primary Keys","/models-and-databases/composite-primary-keys","07.models-and-databases/15.composite-primary-keys",{"title":316,"path":317,"stem":318},"Database Instrumentation","/models-and-databases/database-instrumentation","07.models-and-databases/16.database-instrumentation",{"title":320,"path":321,"stem":322},"Database Optimization","/models-and-databases/database-optimization","07.models-and-databases/17.database-optimization",{"title":324,"path":325,"stem":326},"Fixtures","/models-and-databases/fixtures","07.models-and-databases/18.fixtures",{"title":328,"path":329,"stem":330},"Signals","/models-and-databases/signals","07.models-and-databases/19.signals",{"title":332,"path":333,"stem":334,"children":335},"Migrations","/migrations","08.migrations/01.index",[336,337,341,345,349,353,357,361,365,369,373,377,381,385],{"title":332,"path":333,"stem":334},{"title":338,"path":339,"stem":340},"How Migrations Work","/migrations/how-migrations-work","08.migrations/02.how-migrations-work",{"title":342,"path":343,"stem":344},"Management Commands","/migrations/management-commands","08.migrations/03.management-commands",{"title":346,"path":347,"stem":348},"Dependencies and Workflow","/migrations/dependencies-and-workflow","08.migrations/04.dependencies-and-workflow",{"title":350,"path":351,"stem":352},"Transaction Handling","/migrations/transaction-handling","08.migrations/05.transaction-handling",{"title":354,"path":355,"stem":356},"Adding Migrations to Apps","/migrations/adding-migrations-to-apps","08.migrations/06.adding-migrations-to-apps",{"title":358,"path":359,"stem":360},"Reversing Migrations","/migrations/reversing-migrations","08.migrations/07.reversing-migrations",{"title":362,"path":363,"stem":364},"Historical Models","/migrations/historical-models","08.migrations/08.historical-models",{"title":366,"path":367,"stem":368},"Considerations When Removing Fields","/migrations/considerations-when-removing-fields","08.migrations/09.considerations-when-removing-fields",{"title":370,"path":371,"stem":372},"Data Migrations","/migrations/data-migrations","08.migrations/10.data-migrations",{"title":374,"path":375,"stem":376},"Squashing Migrations","/migrations/squashing-migrations","08.migrations/11.squashing-migrations",{"title":378,"path":379,"stem":380},"Serializing Values","/migrations/serializing-values","08.migrations/12.serializing-values",{"title":382,"path":383,"stem":384},"Supporting Multiple Django Versions","/migrations/supporting-multiple-django-versions","08.migrations/13.supporting-multiple-django-versions",{"title":386,"path":387,"stem":388},"Django Serialization Framework","/migrations/django-serialization-framework","08.migrations/14.django-serialization-framework",{"title":390,"path":391,"stem":392,"children":393},"Authentication and Authorization","/authentication-and-authorization","09.authentication-and-authorization/01.index",[394,395,399,403,407,411,415,419,423,427,431,435],{"title":390,"path":391,"stem":392},{"title":396,"path":397,"stem":398},"Overview of Django's Authentication System","/authentication-and-authorization/overview-of-django-authentication-system","09.authentication-and-authorization/02.overview-of-django-authentication-system",{"title":400,"path":401,"stem":402},"Users and Groups","/authentication-and-authorization/users-and-groups","09.authentication-and-authorization/03.users-and-groups",{"title":404,"path":405,"stem":406},"Permissions","/authentication-and-authorization/permissions","09.authentication-and-authorization/04.permissions",{"title":408,"path":409,"stem":410},"Password Management","/authentication-and-authorization/password-management","09.authentication-and-authorization/05.password-management",{"title":412,"path":413,"stem":414},"Authentication Views","/authentication-and-authorization/authentication-views","09.authentication-and-authorization/06.authentication-views",{"title":416,"path":417,"stem":418},"Login and Logout","/authentication-and-authorization/login-and-logout","09.authentication-and-authorization/07.login-and-logout",{"title":420,"path":421,"stem":422},"Custom User Models","/authentication-and-authorization/custom-user-models","09.authentication-and-authorization/08.custom-user-models",{"title":424,"path":425,"stem":426},"Middleware for Authentication","/authentication-and-authorization/middleware-for-authentication","09.authentication-and-authorization/09.middleware-for-authentication",{"title":428,"path":429,"stem":430},"Authorization in Views and Templates","/authentication-and-authorization/authorization-in-views-and-templates","09.authentication-and-authorization/10.authorization-in-views-and-templates",{"title":432,"path":433,"stem":434},"Integrating Social Authentication","/authentication-and-authorization/integrating-social-authentication","09.authentication-and-authorization/11.integrating-social-authentication",{"title":436,"path":437,"stem":438},"Security Best Practices","/authentication-and-authorization/security-best-practices","09.authentication-and-authorization/12.security-best-practices",{"title":440,"path":441,"stem":442,"children":443},"Sessions, Cookies, and State","/sessions-cookies-state","10.sessions-cookies-state/01.index",[444,446,450,454,458],{"title":445,"path":441,"stem":442},"Sessions, Cookies, and State Management",{"title":447,"path":448,"stem":449},"Introduction to Sessions","/sessions-cookies-state/introduction-to-sessions","10.sessions-cookies-state/02.introduction-to-sessions",{"title":451,"path":452,"stem":453},"Working with Cookies","/sessions-cookies-state/working-with-cookies","10.sessions-cookies-state/03.working-with-cookies",{"title":455,"path":456,"stem":457},"Server-Side Session Storage Options","/sessions-cookies-state/server-side-session-storage-options","10.sessions-cookies-state/04.server-side-session-storage-options",{"title":459,"path":460,"stem":461},"Session Security","/sessions-cookies-state/session-security","10.sessions-cookies-state/05.session-security",{"title":463,"path":464,"stem":465,"children":466},"Working with Files","/working-with-files","11.working-with-files/01.index",[467,468,472,476,480,484],{"title":463,"path":464,"stem":465},{"title":469,"path":470,"stem":471},"Files in Models","/working-with-files/files-in-models","11.working-with-files/02.files-in-models",{"title":473,"path":474,"stem":475},"The File Object","/working-with-files/the-file-object","11.working-with-files/03.the-file-object",{"title":477,"path":478,"stem":479},"Storage Backends","/working-with-files/storage-backends","11.working-with-files/04.storage-backends",{"title":481,"path":482,"stem":483},"Using Cloud Storage Providers","/working-with-files/using-cloud-storage-providers","11.working-with-files/05.using-cloud-storage-providers",{"title":485,"path":486,"stem":487},"Managing Media in Production","/working-with-files/managing-media-in-production","11.working-with-files/06.managing-media-in-production",{"title":489,"path":490,"stem":491,"children":492},"Admin Site","/admin-site","12.admin-site/01.index",[493,494,498,502,506,510],{"title":489,"path":490,"stem":491},{"title":495,"path":496,"stem":497},"Enabling the Admin","/admin-site/enabling-the-admin","12.admin-site/02.enabling-the-admin",{"title":499,"path":500,"stem":501},"Registering Models","/admin-site/registering-models","12.admin-site/03.registering-models",{"title":503,"path":504,"stem":505},"Customizing Admin Display","/admin-site/customizing-admin-display","12.admin-site/04.customizing-admin-display",{"title":507,"path":508,"stem":509},"Admin Actions","/admin-site/admin-actions","12.admin-site/05.admin-actions",{"title":511,"path":512,"stem":513},"Admin Security Best Practices","/admin-site/admin-security-best-practices","12.admin-site/06.admin-security-best-practices",{"title":515,"path":516,"stem":517,"children":518},"Middleware","/middleware","13.middleware/01.index",[519,520,524,528,532,536],{"title":515,"path":516,"stem":517},{"title":521,"path":522,"stem":523},"Middleware Overview","/middleware/middleware-overview","13.middleware/02.middleware-overview",{"title":525,"path":526,"stem":527},"Built-in Middleware","/middleware/built-in-middleware","13.middleware/03.built-in-middleware",{"title":529,"path":530,"stem":531},"Creating Custom Middleware","/middleware/creating-custom-middleware","13.middleware/04.creating-custom-middleware",{"title":533,"path":534,"stem":535},"Middleware Ordering","/middleware/middleware-ordering","13.middleware/05.middleware-ordering",{"title":537,"path":538,"stem":539},"Performance and Debugging","/middleware/performance-and-debugging","13.middleware/06.performance-and-debugging",{"title":541,"path":542,"stem":543,"children":544},"Security","/security","14.security/01.index",[545,546,550,554,558,562,566,570,574],{"title":541,"path":542,"stem":543},{"title":547,"path":548,"stem":549},"Django Security Philosophy","/security/django-security-philosophy","14.security/02.django-security-philosophy",{"title":551,"path":552,"stem":553},"Cross Site Request Forgery","/security/cross-site-request-forgery","14.security/03.cross-site-request-forgery",{"title":555,"path":556,"stem":557},"Cross Site Scripting","/security/cross-site-scripting","14.security/04.cross-site-scripting",{"title":559,"path":560,"stem":561},"SQL Injection Protection","/security/sql-injection-protection","14.security/05.sql-injection-protection",{"title":563,"path":564,"stem":565},"Clickjacking Protection","/security/clickjacking-protection","14.security/06.clickjacking-protection",{"title":567,"path":568,"stem":569},"HTTPS Setup and HSTS","/security/https-setup-and-hsts","14.security/07.https-setup-and-hsts",{"title":571,"path":572,"stem":573},"Password Storage and Cryptography","/security/password-storage-and-cryptography","14.security/08.password-storage-and-cryptography",{"title":575,"path":576,"stem":577},"Secure Deployment Checklist","/security/secure-deployment-checklist","14.security/09.secure-deployment-checklist",{"title":579,"path":580,"stem":581,"children":582},"Testing","/testing","15.testing/01.index",[583,584,588,592,596,600,604,608,612,616,620],{"title":579,"path":580,"stem":581},{"title":585,"path":586,"stem":587},"Introduction to Django Testing","/testing/introduction-to-django-testing","15.testing/02.introduction-to-django-testing",{"title":589,"path":590,"stem":591},"Writing and Running Tests","/testing/writing-and-running-tests","15.testing/03.writing-and-running-tests",{"title":593,"path":594,"stem":595},"Test Tools","/testing/test-tools","15.testing/04.test-tools",{"title":597,"path":598,"stem":599},"Testing Models","/testing/testing-models","15.testing/05.testing-models",{"title":601,"path":602,"stem":603},"Testing Views","/testing/testing-views","15.testing/06.testing-views",{"title":605,"path":606,"stem":607},"Testing Forms","/testing/testing-forms","15.testing/07.testing-forms",{"title":609,"path":610,"stem":611},"Testing Templates","/testing/testing-templates","15.testing/08.testing-templates",{"title":613,"path":614,"stem":615},"Testing Authentication","/testing/testing-authentication","15.testing/09.testing-authentication",{"title":617,"path":618,"stem":619},"Advanced Testing Topics","/testing/advanced-testing-topics","15.testing/10.advanced-testing-topics",{"title":621,"path":622,"stem":623},"Performance Testing","/testing/performance-testing","15.testing/11.performance-testing",{"title":625,"path":626,"stem":627,"children":628},"Static Assets and Frontend Integration","/static-assets-and-frontend-integration","16.static-assets-and-frontend-integration/01.index",[629,630,634,638,642,646],{"title":625,"path":626,"stem":627},{"title":631,"path":632,"stem":633},"Working with Static Files","/static-assets-and-frontend-integration/working-with-static-files","16.static-assets-and-frontend-integration/02.working-with-static-files",{"title":635,"path":636,"stem":637},"Integrating CSS and JavaScript","/static-assets-and-frontend-integration/integrating-css-and-javascript","16.static-assets-and-frontend-integration/03.integrating-css-and-javascript",{"title":639,"path":640,"stem":641},"Using Build Tools like Vite or Webpack","/static-assets-and-frontend-integration/using-build-tools-like-vite-or-webpack","16.static-assets-and-frontend-integration/04.using-build-tools-like-vite-or-webpack",{"title":643,"path":644,"stem":645},"Using React or Vue with Django","/static-assets-and-frontend-integration/using-react-or-vue-with-django","16.static-assets-and-frontend-integration/05.using-react-or-vue-with-django",{"title":647,"path":648,"stem":649},"Managing CORS","/static-assets-and-frontend-integration/managing-cors","16.static-assets-and-frontend-integration/06.managing-cors",{"title":651,"path":652,"stem":653,"children":654},"Internationalization and Localization","/internationalization-and-localization","17.internationalization-and-localization/01.index",[655,656,660,664,668],{"title":651,"path":652,"stem":653},{"title":657,"path":658,"stem":659},"Enabling Translation","/internationalization-and-localization/enabling-translation","17.internationalization-and-localization/02.enabling-translation",{"title":661,"path":662,"stem":663},"Translating Text in Code and Templates","/internationalization-and-localization/translating-text-in-code-and-templates","17.internationalization-and-localization/03.translating-text-in-code-and-templates",{"title":665,"path":666,"stem":667},"Timezone Support","/internationalization-and-localization/timezone-support","17.internationalization-and-localization/04.timezone-support",{"title":669,"path":670,"stem":671},"Locale Middleware","/internationalization-and-localization/locale-middleware","17.internationalization-and-localization/05.locale-middleware",{"title":673,"path":674,"stem":675,"children":676},"Caching","/caching","18.caching/01.index",[677,678,682,686,690,694,698],{"title":673,"path":674,"stem":675},{"title":679,"path":680,"stem":681},"Introduction to Caching","/caching/introduction-to-caching","18.caching/02.introduction-to-caching",{"title":683,"path":684,"stem":685},"Cache Backends","/caching/cache-backends","18.caching/03.cache-backends",{"title":687,"path":688,"stem":689},"Per View Caching","/caching/per-view-caching","18.caching/04.per-view-caching",{"title":691,"path":692,"stem":693},"Low Level Cache API","/caching/low-level-cache-api","18.caching/05.low-level-cache-api",{"title":695,"path":696,"stem":697},"Template Fragment Caching","/caching/template-fragment-caching","18.caching/06.template-fragment-caching",{"title":699,"path":700,"stem":701},"Deployment Level Caching Patterns","/caching/deployment-level-caching-patterns","18.caching/07.deployment-level-caching-patterns",{"title":703,"path":704,"stem":705,"children":706},"Asynchronous Django","/asynchronous-django","19.asynchronous-django/01.index",[707,708,712,716,720,724,728,732],{"title":703,"path":704,"stem":705},{"title":709,"path":710,"stem":711},"Introduction to ASGI","/asynchronous-django/introduction-to-asgi","19.asynchronous-django/02.introduction-to-asgi",{"title":713,"path":714,"stem":715},"Async Views","/asynchronous-django/async-views","19.asynchronous-django/03.async-views",{"title":717,"path":718,"stem":719},"Async ORM Status","/asynchronous-django/async-orm-status","19.asynchronous-django/04.async-orm-status",{"title":721,"path":722,"stem":723},"WebSockets with Channels","/asynchronous-django/websockets-with-channels","19.asynchronous-django/05.websockets-with-channels",{"title":725,"path":726,"stem":727},"Background Tasks with Celery or RQ","/asynchronous-django/background-tasks-with-celery-or-rq","19.asynchronous-django/06.background-tasks-with-celery-or-rq",{"title":729,"path":730,"stem":731},"Asynchronous Support","/asynchronous-django/asynchronous-support","19.asynchronous-django/07.asynchronous-support",{"title":733,"path":734,"stem":735},"Django's Tasks Framework","/asynchronous-django/django-tasks-framework","19.asynchronous-django/08.django-tasks-framework",{"title":737,"path":738,"stem":739,"children":740},"Deployment","/deployment","20.deployment/01.index",[741,742,746,750,754,758,762,766,770],{"title":737,"path":738,"stem":739},{"title":743,"path":744,"stem":745},"Preparing for Production","/deployment/preparing-for-production","20.deployment/02.preparing-for-production",{"title":747,"path":748,"stem":749},"Using WSGI and ASGI Servers","/deployment/using-wsgi-and-asgi-servers","20.deployment/03.using-wsgi-and-asgi-servers",{"title":751,"path":752,"stem":753},"Deploying on Linux Servers","/deployment/deploying-on-linux-servers","20.deployment/04.deploying-on-linux-servers",{"title":755,"path":756,"stem":757},"Using Docker","/deployment/using-docker","20.deployment/05.using-docker",{"title":759,"path":760,"stem":761},"Cloud Deployment Guides","/deployment/cloud-deployment-guides","20.deployment/06.cloud-deployment-guides",{"title":763,"path":764,"stem":765},"Scaling and Load Balancing","/deployment/scaling-and-load-balancing","20.deployment/07.scaling-and-load-balancing",{"title":767,"path":768,"stem":769},"Monitoring and Logging","/deployment/monitoring-and-logging","20.deployment/08.monitoring-and-logging",{"title":771,"path":772,"stem":773},"Backup Strategies","/deployment/backup-strategies","20.deployment/09.backup-strategies",{"title":775,"path":776,"stem":777,"children":778},"Performance and Optimization","/performance-and-optimization","21.performance-and-optimization/01.index",[779,780,784,788,792,796],{"title":775,"path":776,"stem":777},{"title":781,"path":782,"stem":783},"Query Optimization","/performance-and-optimization/query-optimization","21.performance-and-optimization/02.query-optimization",{"title":785,"path":786,"stem":787},"Template Rendering Optimization","/performance-and-optimization/template-rendering-optimization","21.performance-and-optimization/03.template-rendering-optimization",{"title":789,"path":790,"stem":791},"Using Select Related and Prefetch Related","/performance-and-optimization/using-select-related-and-prefetch-related","21.performance-and-optimization/04.using-select-related-and-prefetch-related",{"title":793,"path":794,"stem":795},"Caching Strategies","/performance-and-optimization/caching-strategies","21.performance-and-optimization/05.caching-strategies",{"title":797,"path":798,"stem":799},"Profiling Django Apps","/performance-and-optimization/profiling-django-apps","21.performance-and-optimization/06.profiling-django-apps",{"title":801,"path":802,"stem":803,"children":804},"Advanced and Expert Topics","/advanced-and-expert-topics","22.advanced-and-expert-topics/01.index",[805,806,810,814,818,822,826,830,834,838,842,846],{"title":801,"path":802,"stem":803},{"title":807,"path":808,"stem":809},"System Architecture Patterns","/advanced-and-expert-topics/system-architecture-patterns","22.advanced-and-expert-topics/02.system-architecture-patterns",{"title":811,"path":812,"stem":813},"Domain Driven Design with Django","/advanced-and-expert-topics/domain-driven-design-with-django","22.advanced-and-expert-topics/03.domain-driven-design-with-django",{"title":815,"path":816,"stem":817},"Building Large Scale Django Projects","/advanced-and-expert-topics/building-large-scale-django-projects","22.advanced-and-expert-topics/04.building-large-scale-django-projects",{"title":819,"path":820,"stem":821},"Plugin Architectures for Django Apps","/advanced-and-expert-topics/plugin-architectures-for-django-apps","22.advanced-and-expert-topics/05.plugin-architectures-for-django-apps",{"title":823,"path":824,"stem":825},"Extending Django's Core","/advanced-and-expert-topics/extending-djangos-core","22.advanced-and-expert-topics/06.extending-djangos-core",{"title":827,"path":828,"stem":829},"Custom ORM Expressions","/advanced-and-expert-topics/custom-orm-expressions","22.advanced-and-expert-topics/07.custom-orm-expressions",{"title":831,"path":832,"stem":833},"Custom Management Commands","/advanced-and-expert-topics/custom-management-commands","22.advanced-and-expert-topics/08.custom-management-commands",{"title":835,"path":836,"stem":837},"Working with Signals","/advanced-and-expert-topics/working-with-signals","22.advanced-and-expert-topics/09.working-with-signals",{"title":839,"path":840,"stem":841},"Building Reusable Django Packages","/advanced-and-expert-topics/building-reusable-django-packages","22.advanced-and-expert-topics/10.building-reusable-django-packages",{"title":843,"path":844,"stem":845},"Integrating Microservices","/advanced-and-expert-topics/integrating-microservices","22.advanced-and-expert-topics/11.integrating-microservices",{"title":847,"path":848,"stem":849},"Advanced Security Hardening","/advanced-and-expert-topics/advanced-security-hardening","22.advanced-and-expert-topics/12.advanced-security-hardening",{"title":851,"path":852,"stem":853,"children":854},"Logging in Django","/logging-in-django","23.logging-in-django/01.index",[855],{"title":851,"path":852,"stem":853},{"title":857,"path":858,"stem":859,"children":860},"FAQ and Troubleshooting","/faq-and-troubleshooting","24.faq-and-troubleshooting/01.index",[861],{"title":857,"path":858,"stem":859},{"title":863,"path":864,"stem":865,"children":866},"External Packages and Ecosystem","/external-packages-and-ecosystem","25.external-packages-and-ecosystem/01.index",[867],{"title":863,"path":864,"stem":865},{"title":869,"path":870,"stem":871,"children":872},"Django Internals and Contributing","/django-internals-and-contributing","26.django-internals-and-contributing/01.index",[873],{"title":869,"path":870,"stem":871},{"title":875,"path":876,"stem":877,"children":878},"Microservices with Django","/microservices-with-django","27.microservices-with-django/01.index",[879,880,884,888,892,896,900,904,908,912,916,920,924],{"title":875,"path":876,"stem":877},{"title":881,"path":882,"stem":883},"What Is a Microservice?","/microservices-with-django/what-is-a-microservice","27.microservices-with-django/02.what-is-a-microservice",{"title":885,"path":886,"stem":887},"Introducing the Django Microservices Architecture","/microservices-with-django/django-microservices-architecture","27.microservices-with-django/03.django-microservices-architecture",{"title":889,"path":890,"stem":891},"Setting Up the Development and Runtime Environment","/microservices-with-django/development-environment","27.microservices-with-django/04.development-environment",{"title":893,"path":894,"stem":895},"Cloud-native Data Processing with MongoDB","/microservices-with-django/cloud-native-data-processing","27.microservices-with-django/05.cloud-native-data-processing",{"title":897,"path":898,"stem":899},"Creating RESTful APIs for Microservices","/microservices-with-django/restful-apis","27.microservices-with-django/06.restful-apis",{"title":901,"path":902,"stem":903},"Orchestrating Microservices with Celery and RabbitMQ","/microservices-with-django/orchestrating-celery-rabbitmq","27.microservices-with-django/07.orchestrating-celery-rabbitmq",{"title":905,"path":906,"stem":907},"Testing Microservices","/microservices-with-django/testing-microservices","27.microservices-with-django/08.testing-microservices",{"title":909,"path":910,"stem":911},"Deploying Microservices","/microservices-with-django/deploying-microservices","27.microservices-with-django/09.deploying-microservices",{"title":913,"path":914,"stem":915},"Securing Microservices","/microservices-with-django/securing-microservices","27.microservices-with-django/10.securing-microservices",{"title":917,"path":918,"stem":919},"Improving Microservices Performance with Caching","/microservices-with-django/performance-caching","27.microservices-with-django/11.performance-caching",{"title":921,"path":922,"stem":923},"Best Practices","/microservices-with-django/best-practices","27.microservices-with-django/12.best-practices",{"title":925,"path":926,"stem":927},"Transforming a Monolithic Web App into a Microservice version","/microservices-with-django/monolith-to-microservices","27.microservices-with-django/13.monolith-to-microservices",{"title":929,"path":930,"stem":931,"children":932},"Releases","/releases","releases",[933,936,940,944,948,952,956,960,964,968,972,976,980,984,988,992,996,1000,1004,1008,1012],{"title":934,"path":930,"stem":935},"Django Releases","releases/index",{"title":937,"path":938,"stem":939},"Django 5.1.10 release notes","/releases/5.1.10","releases/5.1.10",{"title":941,"path":942,"stem":943},"Django 5.1.11 release notes","/releases/5.1.11","releases/5.1.11",{"title":945,"path":946,"stem":947},"Django 5.1.12 release notes","/releases/5.1.12","releases/5.1.12",{"title":949,"path":950,"stem":951},"Django 5.1.13 release notes","/releases/5.1.13","releases/5.1.13",{"title":953,"path":954,"stem":955},"Django 5.1.14 release notes","/releases/5.1.14","releases/5.1.14",{"title":957,"path":958,"stem":959},"Django 5.1.15 release notes","/releases/5.1.15","releases/5.1.15",{"title":961,"path":962,"stem":963},"Django 5.2 release notes","/releases/5.2","releases/5.2",{"title":965,"path":966,"stem":967},"Django 5.2.1 release notes","/releases/5.2.1","releases/5.2.1",{"title":969,"path":970,"stem":971},"Django 5.2.10 release notes","/releases/5.2.10","releases/5.2.10",{"title":973,"path":974,"stem":975},"Django 5.2.2 release notes","/releases/5.2.2","releases/5.2.2",{"title":977,"path":978,"stem":979},"Django 5.2.3 release notes","/releases/5.2.3","releases/5.2.3",{"title":981,"path":982,"stem":983},"Django 5.2.4 release notes","/releases/5.2.4","releases/5.2.4",{"title":985,"path":986,"stem":987},"Django 5.2.5 release notes","/releases/5.2.5","releases/5.2.5",{"title":989,"path":990,"stem":991},"Django 5.2.6 release notes","/releases/5.2.6","releases/5.2.6",{"title":993,"path":994,"stem":995},"Django 5.2.7 release notes","/releases/5.2.7","releases/5.2.7",{"title":997,"path":998,"stem":999},"Django 5.2.8 release notes","/releases/5.2.8","releases/5.2.8",{"title":1001,"path":1002,"stem":1003},"Django 5.2.9 release notes","/releases/5.2.9","releases/5.2.9",{"title":1005,"path":1006,"stem":1007},"Django 6.0 release notes","/releases/6.0","releases/6.0",{"title":1009,"path":1010,"stem":1011},"Django 6.0.1 release notes","/releases/6.0.1","releases/6.0.1",{"title":1013,"path":1014,"stem":1015},"Django 6.1 release notes - UNDER DEVELOPMENT","/releases/6.1","releases/6.1",{"id":1017,"title":324,"body":1018,"description":1028,"extension":14162,"links":14163,"meta":14164,"navigation":1075,"path":325,"seo":14165,"stem":326,"__hash__":14166},"docs/07.models-and-databases/18.fixtures.md",{"type":1019,"value":1020,"toc":14145},"minimark",[1021,1025,1029,1034,1039,1270,1274,2152,2156,2160,2634,3098,3544,3548,4000,4004,8763,8767,8771,11207,11211,11215,14139,14142],[1022,1023,324],"h1",{"id":1024},"fixtures",[1026,1027,1028],"p",{},"Fixtures provide a way to pre-populate your database with data for testing, development, and initial application setup. Understanding how to create, manage, and use fixtures effectively enables consistent data management across different environments.",[1030,1031,1033],"h2",{"id":1032},"understanding-fixtures","Understanding Fixtures",[1035,1036,1038],"h3",{"id":1037},"what-are-fixtures","What Are Fixtures?",[1040,1041,1046],"pre",{"className":1042,"code":1043,"language":1044,"meta":1045,"style":1045},"language-python shiki shiki-themes material-theme-lighter vitesse-light vitesse-dark","# Fixtures are serialized data files that can be loaded into Django models\n# Common formats: JSON, XML, YAML\n# Used for: testing, development data, initial application data\n\n# Example JSON fixture structure\n\"\"\"\n[\n  {\n    \"model\": \"blog.category\",\n    \"pk\": 1,\n    \"fields\": {\n      \"name\": \"Technology\",\n      \"slug\": \"technology\",\n      \"description\": \"Technology related posts\"\n    }\n  },\n  {\n    \"model\": \"blog.post\",\n    \"pk\": 1,\n    \"fields\": {\n      \"title\": \"Introduction to Django\",\n      \"slug\": \"introduction-to-django\",\n      \"content\": \"Django is a high-level Python web framework...\",\n      \"author\": 1,\n      \"category\": 1,\n      \"status\": \"published\",\n      \"created_at\": \"2023-01-01T10:00:00Z\"\n    }\n  }\n]\n\"\"\"\n\n# Loading fixtures\n# python manage.py loaddata fixture_name.json\n\n# Creating fixtures from existing data\n# python manage.py dumpdata app_name.ModelName > fixture_name.json\n","python","",[1047,1048,1049,1058,1064,1070,1077,1083,1090,1097,1103,1109,1115,1121,1127,1133,1139,1145,1151,1156,1162,1167,1172,1178,1184,1190,1196,1202,1208,1214,1219,1225,1231,1236,1241,1247,1253,1258,1264],"code",{"__ignoreMap":1045},[1050,1051,1054],"span",{"class":1052,"line":1053},"line",1,[1050,1055,1057],{"class":1056},"s9Tkl","# Fixtures are serialized data files that can be loaded into Django models\n",[1050,1059,1061],{"class":1052,"line":1060},2,[1050,1062,1063],{"class":1056},"# Common formats: JSON, XML, YAML\n",[1050,1065,1067],{"class":1052,"line":1066},3,[1050,1068,1069],{"class":1056},"# Used for: testing, development data, initial application data\n",[1050,1071,1073],{"class":1052,"line":1072},4,[1050,1074,1076],{"emptyLinePlaceholder":1075},true,"\n",[1050,1078,1080],{"class":1052,"line":1079},5,[1050,1081,1082],{"class":1056},"# Example JSON fixture structure\n",[1050,1084,1086],{"class":1052,"line":1085},6,[1050,1087,1089],{"class":1088},"sm7ve","\"\"\"\n",[1050,1091,1093],{"class":1052,"line":1092},7,[1050,1094,1096],{"class":1095},"sVyVU","[\n",[1050,1098,1100],{"class":1052,"line":1099},8,[1050,1101,1102],{"class":1095},"  {\n",[1050,1104,1106],{"class":1052,"line":1105},9,[1050,1107,1108],{"class":1095},"    \"model\": \"blog.category\",\n",[1050,1110,1112],{"class":1052,"line":1111},10,[1050,1113,1114],{"class":1095},"    \"pk\": 1,\n",[1050,1116,1118],{"class":1052,"line":1117},11,[1050,1119,1120],{"class":1095},"    \"fields\": {\n",[1050,1122,1124],{"class":1052,"line":1123},12,[1050,1125,1126],{"class":1095},"      \"name\": \"Technology\",\n",[1050,1128,1130],{"class":1052,"line":1129},13,[1050,1131,1132],{"class":1095},"      \"slug\": \"technology\",\n",[1050,1134,1136],{"class":1052,"line":1135},14,[1050,1137,1138],{"class":1095},"      \"description\": \"Technology related posts\"\n",[1050,1140,1142],{"class":1052,"line":1141},15,[1050,1143,1144],{"class":1095},"    }\n",[1050,1146,1148],{"class":1052,"line":1147},16,[1050,1149,1150],{"class":1095},"  },\n",[1050,1152,1154],{"class":1052,"line":1153},17,[1050,1155,1102],{"class":1095},[1050,1157,1159],{"class":1052,"line":1158},18,[1050,1160,1161],{"class":1095},"    \"model\": \"blog.post\",\n",[1050,1163,1165],{"class":1052,"line":1164},19,[1050,1166,1114],{"class":1095},[1050,1168,1170],{"class":1052,"line":1169},20,[1050,1171,1120],{"class":1095},[1050,1173,1175],{"class":1052,"line":1174},21,[1050,1176,1177],{"class":1095},"      \"title\": \"Introduction to Django\",\n",[1050,1179,1181],{"class":1052,"line":1180},22,[1050,1182,1183],{"class":1095},"      \"slug\": \"introduction-to-django\",\n",[1050,1185,1187],{"class":1052,"line":1186},23,[1050,1188,1189],{"class":1095},"      \"content\": \"Django is a high-level Python web framework...\",\n",[1050,1191,1193],{"class":1052,"line":1192},24,[1050,1194,1195],{"class":1095},"      \"author\": 1,\n",[1050,1197,1199],{"class":1052,"line":1198},25,[1050,1200,1201],{"class":1095},"      \"category\": 1,\n",[1050,1203,1205],{"class":1052,"line":1204},26,[1050,1206,1207],{"class":1095},"      \"status\": \"published\",\n",[1050,1209,1211],{"class":1052,"line":1210},27,[1050,1212,1213],{"class":1095},"      \"created_at\": \"2023-01-01T10:00:00Z\"\n",[1050,1215,1217],{"class":1052,"line":1216},28,[1050,1218,1144],{"class":1095},[1050,1220,1222],{"class":1052,"line":1221},29,[1050,1223,1224],{"class":1095},"  }\n",[1050,1226,1228],{"class":1052,"line":1227},30,[1050,1229,1230],{"class":1095},"]\n",[1050,1232,1234],{"class":1052,"line":1233},31,[1050,1235,1089],{"class":1088},[1050,1237,1239],{"class":1052,"line":1238},32,[1050,1240,1076],{"emptyLinePlaceholder":1075},[1050,1242,1244],{"class":1052,"line":1243},33,[1050,1245,1246],{"class":1056},"# Loading fixtures\n",[1050,1248,1250],{"class":1052,"line":1249},34,[1050,1251,1252],{"class":1056},"# python manage.py loaddata fixture_name.json\n",[1050,1254,1256],{"class":1052,"line":1255},35,[1050,1257,1076],{"emptyLinePlaceholder":1075},[1050,1259,1261],{"class":1052,"line":1260},36,[1050,1262,1263],{"class":1056},"# Creating fixtures from existing data\n",[1050,1265,1267],{"class":1052,"line":1266},37,[1050,1268,1269],{"class":1056},"# python manage.py dumpdata app_name.ModelName > fixture_name.json\n",[1035,1271,1273],{"id":1272},"basic-fixture-creation","Basic Fixture Creation",[1040,1275,1277],{"className":1042,"code":1276,"language":1044,"meta":1045,"style":1045},"# models.py\nfrom django.db import models\nfrom django.contrib.auth.models import User\n\nclass Category(models.Model):\n    name = models.CharField(max_length=100, unique=True)\n    slug = models.SlugField(max_length=100, unique=True)\n    description = models.TextField(blank=True)\n    is_active = models.BooleanField(default=True)\n    created_at = models.DateTimeField(auto_now_add=True)\n    \n    def __str__(self):\n        return self.name\n\nclass Tag(models.Model):\n    name = models.CharField(max_length=50, unique=True)\n    slug = models.SlugField(max_length=50, unique=True)\n    color = models.CharField(max_length=7, default='#007bff')\n    \n    def __str__(self):\n        return self.name\n\nclass Post(models.Model):\n    STATUS_CHOICES = [\n        ('draft', 'Draft'),\n        ('published', 'Published'),\n        ('archived', 'Archived'),\n    ]\n    \n    title = models.CharField(max_length=200)\n    slug = models.SlugField(max_length=200, unique=True)\n    content = models.TextField()\n    author = models.ForeignKey(User, on_delete=models.CASCADE)\n    category = models.ForeignKey(Category, on_delete=models.CASCADE)\n    tags = models.ManyToManyField(Tag, blank=True)\n    status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='draft')\n    view_count = models.PositiveIntegerField(default=0)\n    created_at = models.DateTimeField(auto_now_add=True)\n    published_at = models.DateTimeField(null=True, blank=True)\n    \n    def __str__(self):\n        return self.title\n\n# Create fixture files in fixtures/ directory within your app\n# blog/fixtures/initial_data.json\n",[1047,1278,1279,1284,1307,1333,1337,1362,1406,1438,1463,1488,1513,1518,1535,1550,1554,1571,1602,1632,1673,1677,1689,1699,1703,1720,1731,1756,1778,1800,1805,1809,1833,1863,1879,1915,1947,1977,2024,2049,2072,2105,2110,2123,2135,2140,2146],{"__ignoreMap":1045},[1050,1280,1281],{"class":1052,"line":1053},[1050,1282,1283],{"class":1056},"# models.py\n",[1050,1285,1286,1290,1294,1298,1301,1304],{"class":1052,"line":1060},[1050,1287,1289],{"class":1288},"siDh9","from",[1050,1291,1293],{"class":1292},"sftqT"," django",[1050,1295,1297],{"class":1296},"soVBu",".",[1050,1299,1300],{"class":1292},"db ",[1050,1302,1303],{"class":1288},"import",[1050,1305,1306],{"class":1292}," models\n",[1050,1308,1309,1311,1313,1315,1318,1320,1323,1325,1328,1330],{"class":1052,"line":1066},[1050,1310,1289],{"class":1288},[1050,1312,1293],{"class":1292},[1050,1314,1297],{"class":1296},[1050,1316,1317],{"class":1292},"contrib",[1050,1319,1297],{"class":1296},[1050,1321,1322],{"class":1292},"auth",[1050,1324,1297],{"class":1296},[1050,1326,1327],{"class":1292},"models ",[1050,1329,1303],{"class":1288},[1050,1331,1332],{"class":1292}," User\n",[1050,1334,1335],{"class":1052,"line":1072},[1050,1336,1076],{"emptyLinePlaceholder":1075},[1050,1338,1339,1343,1347,1350,1354,1356,1359],{"class":1052,"line":1079},[1050,1340,1342],{"class":1341},"s5Kfy","class",[1050,1344,1346],{"class":1345},"sD-vU"," Category",[1050,1348,1349],{"class":1296},"(",[1050,1351,1353],{"class":1352},"sYn-s","models",[1050,1355,1297],{"class":1296},[1050,1357,1358],{"class":1352},"Model",[1050,1360,1361],{"class":1296},"):\n",[1050,1363,1364,1367,1370,1373,1375,1379,1381,1385,1387,1391,1394,1397,1399,1403],{"class":1052,"line":1085},[1050,1365,1366],{"class":1292},"    name ",[1050,1368,1369],{"class":1296},"=",[1050,1371,1372],{"class":1292}," models",[1050,1374,1297],{"class":1296},[1050,1376,1378],{"class":1377},"siWMO","CharField",[1050,1380,1349],{"class":1296},[1050,1382,1384],{"class":1383},"sqOPj","max_length",[1050,1386,1369],{"class":1296},[1050,1388,1390],{"class":1389},"s7CZa","100",[1050,1392,1393],{"class":1296},",",[1050,1395,1396],{"class":1383}," unique",[1050,1398,1369],{"class":1296},[1050,1400,1402],{"class":1401},"s8XtY","True",[1050,1404,1405],{"class":1296},")\n",[1050,1407,1408,1411,1413,1415,1417,1420,1422,1424,1426,1428,1430,1432,1434,1436],{"class":1052,"line":1092},[1050,1409,1410],{"class":1292},"    slug ",[1050,1412,1369],{"class":1296},[1050,1414,1372],{"class":1292},[1050,1416,1297],{"class":1296},[1050,1418,1419],{"class":1377},"SlugField",[1050,1421,1349],{"class":1296},[1050,1423,1384],{"class":1383},[1050,1425,1369],{"class":1296},[1050,1427,1390],{"class":1389},[1050,1429,1393],{"class":1296},[1050,1431,1396],{"class":1383},[1050,1433,1369],{"class":1296},[1050,1435,1402],{"class":1401},[1050,1437,1405],{"class":1296},[1050,1439,1440,1443,1445,1447,1449,1452,1454,1457,1459,1461],{"class":1052,"line":1099},[1050,1441,1442],{"class":1292},"    description ",[1050,1444,1369],{"class":1296},[1050,1446,1372],{"class":1292},[1050,1448,1297],{"class":1296},[1050,1450,1451],{"class":1377},"TextField",[1050,1453,1349],{"class":1296},[1050,1455,1456],{"class":1383},"blank",[1050,1458,1369],{"class":1296},[1050,1460,1402],{"class":1401},[1050,1462,1405],{"class":1296},[1050,1464,1465,1468,1470,1472,1474,1477,1479,1482,1484,1486],{"class":1052,"line":1105},[1050,1466,1467],{"class":1292},"    is_active ",[1050,1469,1369],{"class":1296},[1050,1471,1372],{"class":1292},[1050,1473,1297],{"class":1296},[1050,1475,1476],{"class":1377},"BooleanField",[1050,1478,1349],{"class":1296},[1050,1480,1481],{"class":1383},"default",[1050,1483,1369],{"class":1296},[1050,1485,1402],{"class":1401},[1050,1487,1405],{"class":1296},[1050,1489,1490,1493,1495,1497,1499,1502,1504,1507,1509,1511],{"class":1052,"line":1111},[1050,1491,1492],{"class":1292},"    created_at ",[1050,1494,1369],{"class":1296},[1050,1496,1372],{"class":1292},[1050,1498,1297],{"class":1296},[1050,1500,1501],{"class":1377},"DateTimeField",[1050,1503,1349],{"class":1296},[1050,1505,1506],{"class":1383},"auto_now_add",[1050,1508,1369],{"class":1296},[1050,1510,1402],{"class":1401},[1050,1512,1405],{"class":1296},[1050,1514,1515],{"class":1052,"line":1117},[1050,1516,1517],{"class":1292},"    \n",[1050,1519,1520,1523,1527,1529,1533],{"class":1052,"line":1123},[1050,1521,1522],{"class":1341},"    def",[1050,1524,1526],{"class":1525},"sJdAF"," __str__",[1050,1528,1349],{"class":1296},[1050,1530,1532],{"class":1531},"sRjD_","self",[1050,1534,1361],{"class":1296},[1050,1536,1537,1540,1544,1546],{"class":1052,"line":1129},[1050,1538,1539],{"class":1288},"        return",[1050,1541,1543],{"class":1542},"se3Ec"," self",[1050,1545,1297],{"class":1296},[1050,1547,1549],{"class":1548},"sBPpx","name\n",[1050,1551,1552],{"class":1052,"line":1135},[1050,1553,1076],{"emptyLinePlaceholder":1075},[1050,1555,1556,1558,1561,1563,1565,1567,1569],{"class":1052,"line":1141},[1050,1557,1342],{"class":1341},[1050,1559,1560],{"class":1345}," Tag",[1050,1562,1349],{"class":1296},[1050,1564,1353],{"class":1352},[1050,1566,1297],{"class":1296},[1050,1568,1358],{"class":1352},[1050,1570,1361],{"class":1296},[1050,1572,1573,1575,1577,1579,1581,1583,1585,1587,1589,1592,1594,1596,1598,1600],{"class":1052,"line":1147},[1050,1574,1366],{"class":1292},[1050,1576,1369],{"class":1296},[1050,1578,1372],{"class":1292},[1050,1580,1297],{"class":1296},[1050,1582,1378],{"class":1377},[1050,1584,1349],{"class":1296},[1050,1586,1384],{"class":1383},[1050,1588,1369],{"class":1296},[1050,1590,1591],{"class":1389},"50",[1050,1593,1393],{"class":1296},[1050,1595,1396],{"class":1383},[1050,1597,1369],{"class":1296},[1050,1599,1402],{"class":1401},[1050,1601,1405],{"class":1296},[1050,1603,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630],{"class":1052,"line":1153},[1050,1605,1410],{"class":1292},[1050,1607,1369],{"class":1296},[1050,1609,1372],{"class":1292},[1050,1611,1297],{"class":1296},[1050,1613,1419],{"class":1377},[1050,1615,1349],{"class":1296},[1050,1617,1384],{"class":1383},[1050,1619,1369],{"class":1296},[1050,1621,1591],{"class":1389},[1050,1623,1393],{"class":1296},[1050,1625,1396],{"class":1383},[1050,1627,1369],{"class":1296},[1050,1629,1402],{"class":1401},[1050,1631,1405],{"class":1296},[1050,1633,1634,1637,1639,1641,1643,1645,1647,1649,1651,1654,1656,1659,1661,1665,1669,1671],{"class":1052,"line":1158},[1050,1635,1636],{"class":1292},"    color ",[1050,1638,1369],{"class":1296},[1050,1640,1372],{"class":1292},[1050,1642,1297],{"class":1296},[1050,1644,1378],{"class":1377},[1050,1646,1349],{"class":1296},[1050,1648,1384],{"class":1383},[1050,1650,1369],{"class":1296},[1050,1652,1653],{"class":1389},"7",[1050,1655,1393],{"class":1296},[1050,1657,1658],{"class":1383}," default",[1050,1660,1369],{"class":1296},[1050,1662,1664],{"class":1663},"sbYkP","'",[1050,1666,1668],{"class":1667},"sTbE_","#007bff",[1050,1670,1664],{"class":1663},[1050,1672,1405],{"class":1296},[1050,1674,1675],{"class":1052,"line":1164},[1050,1676,1517],{"class":1292},[1050,1678,1679,1681,1683,1685,1687],{"class":1052,"line":1169},[1050,1680,1522],{"class":1341},[1050,1682,1526],{"class":1525},[1050,1684,1349],{"class":1296},[1050,1686,1532],{"class":1531},[1050,1688,1361],{"class":1296},[1050,1690,1691,1693,1695,1697],{"class":1052,"line":1174},[1050,1692,1539],{"class":1288},[1050,1694,1543],{"class":1542},[1050,1696,1297],{"class":1296},[1050,1698,1549],{"class":1548},[1050,1700,1701],{"class":1052,"line":1180},[1050,1702,1076],{"emptyLinePlaceholder":1075},[1050,1704,1705,1707,1710,1712,1714,1716,1718],{"class":1052,"line":1186},[1050,1706,1342],{"class":1341},[1050,1708,1709],{"class":1345}," Post",[1050,1711,1349],{"class":1296},[1050,1713,1353],{"class":1352},[1050,1715,1297],{"class":1296},[1050,1717,1358],{"class":1352},[1050,1719,1361],{"class":1296},[1050,1721,1722,1725,1728],{"class":1052,"line":1192},[1050,1723,1724],{"class":1542},"    STATUS_CHOICES",[1050,1726,1727],{"class":1296}," =",[1050,1729,1730],{"class":1296}," [\n",[1050,1732,1733,1736,1738,1741,1743,1745,1748,1751,1753],{"class":1052,"line":1198},[1050,1734,1735],{"class":1296},"        (",[1050,1737,1664],{"class":1663},[1050,1739,1740],{"class":1667},"draft",[1050,1742,1664],{"class":1663},[1050,1744,1393],{"class":1296},[1050,1746,1747],{"class":1663}," '",[1050,1749,1750],{"class":1667},"Draft",[1050,1752,1664],{"class":1663},[1050,1754,1755],{"class":1296},"),\n",[1050,1757,1758,1760,1762,1765,1767,1769,1771,1774,1776],{"class":1052,"line":1204},[1050,1759,1735],{"class":1296},[1050,1761,1664],{"class":1663},[1050,1763,1764],{"class":1667},"published",[1050,1766,1664],{"class":1663},[1050,1768,1393],{"class":1296},[1050,1770,1747],{"class":1663},[1050,1772,1773],{"class":1667},"Published",[1050,1775,1664],{"class":1663},[1050,1777,1755],{"class":1296},[1050,1779,1780,1782,1784,1787,1789,1791,1793,1796,1798],{"class":1052,"line":1210},[1050,1781,1735],{"class":1296},[1050,1783,1664],{"class":1663},[1050,1785,1786],{"class":1667},"archived",[1050,1788,1664],{"class":1663},[1050,1790,1393],{"class":1296},[1050,1792,1747],{"class":1663},[1050,1794,1795],{"class":1667},"Archived",[1050,1797,1664],{"class":1663},[1050,1799,1755],{"class":1296},[1050,1801,1802],{"class":1052,"line":1216},[1050,1803,1804],{"class":1296},"    ]\n",[1050,1806,1807],{"class":1052,"line":1221},[1050,1808,1517],{"class":1292},[1050,1810,1811,1814,1816,1818,1820,1822,1824,1826,1828,1831],{"class":1052,"line":1227},[1050,1812,1813],{"class":1292},"    title ",[1050,1815,1369],{"class":1296},[1050,1817,1372],{"class":1292},[1050,1819,1297],{"class":1296},[1050,1821,1378],{"class":1377},[1050,1823,1349],{"class":1296},[1050,1825,1384],{"class":1383},[1050,1827,1369],{"class":1296},[1050,1829,1830],{"class":1389},"200",[1050,1832,1405],{"class":1296},[1050,1834,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861],{"class":1052,"line":1233},[1050,1836,1410],{"class":1292},[1050,1838,1369],{"class":1296},[1050,1840,1372],{"class":1292},[1050,1842,1297],{"class":1296},[1050,1844,1419],{"class":1377},[1050,1846,1349],{"class":1296},[1050,1848,1384],{"class":1383},[1050,1850,1369],{"class":1296},[1050,1852,1830],{"class":1389},[1050,1854,1393],{"class":1296},[1050,1856,1396],{"class":1383},[1050,1858,1369],{"class":1296},[1050,1860,1402],{"class":1401},[1050,1862,1405],{"class":1296},[1050,1864,1865,1868,1870,1872,1874,1876],{"class":1052,"line":1238},[1050,1866,1867],{"class":1292},"    content ",[1050,1869,1369],{"class":1296},[1050,1871,1372],{"class":1292},[1050,1873,1297],{"class":1296},[1050,1875,1451],{"class":1377},[1050,1877,1878],{"class":1296},"()\n",[1050,1880,1881,1884,1886,1888,1890,1893,1895,1898,1900,1903,1905,1907,1909,1913],{"class":1052,"line":1243},[1050,1882,1883],{"class":1292},"    author ",[1050,1885,1369],{"class":1296},[1050,1887,1372],{"class":1292},[1050,1889,1297],{"class":1296},[1050,1891,1892],{"class":1377},"ForeignKey",[1050,1894,1349],{"class":1296},[1050,1896,1897],{"class":1377},"User",[1050,1899,1393],{"class":1296},[1050,1901,1902],{"class":1383}," on_delete",[1050,1904,1369],{"class":1296},[1050,1906,1353],{"class":1377},[1050,1908,1297],{"class":1296},[1050,1910,1912],{"class":1911},"sFGJz","CASCADE",[1050,1914,1405],{"class":1296},[1050,1916,1917,1920,1922,1924,1926,1928,1930,1933,1935,1937,1939,1941,1943,1945],{"class":1052,"line":1249},[1050,1918,1919],{"class":1292},"    category ",[1050,1921,1369],{"class":1296},[1050,1923,1372],{"class":1292},[1050,1925,1297],{"class":1296},[1050,1927,1892],{"class":1377},[1050,1929,1349],{"class":1296},[1050,1931,1932],{"class":1377},"Category",[1050,1934,1393],{"class":1296},[1050,1936,1902],{"class":1383},[1050,1938,1369],{"class":1296},[1050,1940,1353],{"class":1377},[1050,1942,1297],{"class":1296},[1050,1944,1912],{"class":1911},[1050,1946,1405],{"class":1296},[1050,1948,1949,1952,1954,1956,1958,1961,1963,1966,1968,1971,1973,1975],{"class":1052,"line":1255},[1050,1950,1951],{"class":1292},"    tags ",[1050,1953,1369],{"class":1296},[1050,1955,1372],{"class":1292},[1050,1957,1297],{"class":1296},[1050,1959,1960],{"class":1377},"ManyToManyField",[1050,1962,1349],{"class":1296},[1050,1964,1965],{"class":1377},"Tag",[1050,1967,1393],{"class":1296},[1050,1969,1970],{"class":1383}," blank",[1050,1972,1369],{"class":1296},[1050,1974,1402],{"class":1401},[1050,1976,1405],{"class":1296},[1050,1978,1979,1982,1984,1986,1988,1990,1992,1994,1996,1999,2001,2004,2006,2010,2012,2014,2016,2018,2020,2022],{"class":1052,"line":1260},[1050,1980,1981],{"class":1292},"    status ",[1050,1983,1369],{"class":1296},[1050,1985,1372],{"class":1292},[1050,1987,1297],{"class":1296},[1050,1989,1378],{"class":1377},[1050,1991,1349],{"class":1296},[1050,1993,1384],{"class":1383},[1050,1995,1369],{"class":1296},[1050,1997,1998],{"class":1389},"20",[1050,2000,1393],{"class":1296},[1050,2002,2003],{"class":1383}," choices",[1050,2005,1369],{"class":1296},[1050,2007,2009],{"class":2008},"s6DHA","STATUS_CHOICES",[1050,2011,1393],{"class":1296},[1050,2013,1658],{"class":1383},[1050,2015,1369],{"class":1296},[1050,2017,1664],{"class":1663},[1050,2019,1740],{"class":1667},[1050,2021,1664],{"class":1663},[1050,2023,1405],{"class":1296},[1050,2025,2026,2029,2031,2033,2035,2038,2040,2042,2044,2047],{"class":1052,"line":1266},[1050,2027,2028],{"class":1292},"    view_count ",[1050,2030,1369],{"class":1296},[1050,2032,1372],{"class":1292},[1050,2034,1297],{"class":1296},[1050,2036,2037],{"class":1377},"PositiveIntegerField",[1050,2039,1349],{"class":1296},[1050,2041,1481],{"class":1383},[1050,2043,1369],{"class":1296},[1050,2045,2046],{"class":1389},"0",[1050,2048,1405],{"class":1296},[1050,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070],{"class":1052,"line":2051},38,[1050,2053,1492],{"class":1292},[1050,2055,1369],{"class":1296},[1050,2057,1372],{"class":1292},[1050,2059,1297],{"class":1296},[1050,2061,1501],{"class":1377},[1050,2063,1349],{"class":1296},[1050,2065,1506],{"class":1383},[1050,2067,1369],{"class":1296},[1050,2069,1402],{"class":1401},[1050,2071,1405],{"class":1296},[1050,2073,2075,2078,2080,2082,2084,2086,2088,2091,2093,2095,2097,2099,2101,2103],{"class":1052,"line":2074},39,[1050,2076,2077],{"class":1292},"    published_at ",[1050,2079,1369],{"class":1296},[1050,2081,1372],{"class":1292},[1050,2083,1297],{"class":1296},[1050,2085,1501],{"class":1377},[1050,2087,1349],{"class":1296},[1050,2089,2090],{"class":1383},"null",[1050,2092,1369],{"class":1296},[1050,2094,1402],{"class":1401},[1050,2096,1393],{"class":1296},[1050,2098,1970],{"class":1383},[1050,2100,1369],{"class":1296},[1050,2102,1402],{"class":1401},[1050,2104,1405],{"class":1296},[1050,2106,2108],{"class":1052,"line":2107},40,[1050,2109,1517],{"class":1292},[1050,2111,2113,2115,2117,2119,2121],{"class":1052,"line":2112},41,[1050,2114,1522],{"class":1341},[1050,2116,1526],{"class":1525},[1050,2118,1349],{"class":1296},[1050,2120,1532],{"class":1531},[1050,2122,1361],{"class":1296},[1050,2124,2126,2128,2130,2132],{"class":1052,"line":2125},42,[1050,2127,1539],{"class":1288},[1050,2129,1543],{"class":1542},[1050,2131,1297],{"class":1296},[1050,2133,2134],{"class":1548},"title\n",[1050,2136,2138],{"class":1052,"line":2137},43,[1050,2139,1076],{"emptyLinePlaceholder":1075},[1050,2141,2143],{"class":1052,"line":2142},44,[1050,2144,2145],{"class":1056},"# Create fixture files in fixtures/ directory within your app\n",[1050,2147,2149],{"class":1052,"line":2148},45,[1050,2150,2151],{"class":1056},"# blog/fixtures/initial_data.json\n",[1030,2153,2155],{"id":2154},"creating-and-managing-fixtures","Creating and Managing Fixtures",[1035,2157,2159],{"id":2158},"json-fixtures","JSON Fixtures",[1040,2161,2165],{"className":2162,"code":2163,"language":2164,"meta":1045,"style":1045},"language-json shiki shiki-themes material-theme-lighter vitesse-light vitesse-dark","// blog/fixtures/categories.json\n[\n  {\n    \"model\": \"blog.category\",\n    \"pk\": 1,\n    \"fields\": {\n      \"name\": \"Technology\",\n      \"slug\": \"technology\",\n      \"description\": \"Latest technology trends and tutorials\",\n      \"is_active\": true,\n      \"created_at\": \"2023-01-01T00:00:00Z\"\n    }\n  },\n  {\n    \"model\": \"blog.category\",\n    \"pk\": 2,\n    \"fields\": {\n      \"name\": \"Programming\",\n      \"slug\": \"programming\",\n      \"description\": \"Programming languages and best practices\",\n      \"is_active\": true,\n      \"created_at\": \"2023-01-01T00:00:00Z\"\n    }\n  },\n  {\n    \"model\": \"blog.category\",\n    \"pk\": 3,\n    \"fields\": {\n      \"name\": \"Web Development\",\n      \"slug\": \"web-development\",\n      \"description\": \"Frontend and backend web development\",\n      \"is_active\": true,\n      \"created_at\": \"2023-01-01T00:00:00Z\"\n    }\n  }\n]\n","json",[1047,2166,2167,2172,2176,2180,2207,2223,2237,2259,2279,2299,2315,2334,2338,2342,2346,2364,2379,2391,2410,2429,2448,2462,2478,2482,2486,2490,2508,2523,2535,2554,2573,2592,2606,2622,2626,2630],{"__ignoreMap":1045},[1050,2168,2169],{"class":1052,"line":1053},[1050,2170,2171],{"class":1056},"// blog/fixtures/categories.json\n",[1050,2173,2174],{"class":1052,"line":1060},[1050,2175,1096],{"class":1296},[1050,2177,2178],{"class":1052,"line":1066},[1050,2179,1102],{"class":1296},[1050,2181,2182,2186,2190,2193,2196,2199,2202,2204],{"class":1052,"line":1072},[1050,2183,2185],{"class":2184},"s4Jsk","    \"",[1050,2187,2189],{"class":2188},"sLorS","model",[1050,2191,2192],{"class":2184},"\"",[1050,2194,2195],{"class":1296},":",[1050,2197,2198],{"class":1663}," \"",[1050,2200,2201],{"class":1667},"blog.category",[1050,2203,2192],{"class":1663},[1050,2205,2206],{"class":1296},",\n",[1050,2208,2209,2211,2214,2216,2218,2221],{"class":1052,"line":1079},[1050,2210,2185],{"class":2184},[1050,2212,2213],{"class":2188},"pk",[1050,2215,2192],{"class":2184},[1050,2217,2195],{"class":1296},[1050,2219,2220],{"class":1389}," 1",[1050,2222,2206],{"class":1296},[1050,2224,2225,2227,2230,2232,2234],{"class":1052,"line":1085},[1050,2226,2185],{"class":2184},[1050,2228,2229],{"class":2188},"fields",[1050,2231,2192],{"class":2184},[1050,2233,2195],{"class":1296},[1050,2235,2236],{"class":1296}," {\n",[1050,2238,2239,2242,2246,2248,2250,2252,2255,2257],{"class":1052,"line":1092},[1050,2240,2241],{"class":2184},"      \"",[1050,2243,2245],{"class":2244},"sa2tF","name",[1050,2247,2192],{"class":2184},[1050,2249,2195],{"class":1296},[1050,2251,2198],{"class":1663},[1050,2253,2254],{"class":1667},"Technology",[1050,2256,2192],{"class":1663},[1050,2258,2206],{"class":1296},[1050,2260,2261,2263,2266,2268,2270,2272,2275,2277],{"class":1052,"line":1099},[1050,2262,2241],{"class":2184},[1050,2264,2265],{"class":2244},"slug",[1050,2267,2192],{"class":2184},[1050,2269,2195],{"class":1296},[1050,2271,2198],{"class":1663},[1050,2273,2274],{"class":1667},"technology",[1050,2276,2192],{"class":1663},[1050,2278,2206],{"class":1296},[1050,2280,2281,2283,2286,2288,2290,2292,2295,2297],{"class":1052,"line":1105},[1050,2282,2241],{"class":2184},[1050,2284,2285],{"class":2244},"description",[1050,2287,2192],{"class":2184},[1050,2289,2195],{"class":1296},[1050,2291,2198],{"class":1663},[1050,2293,2294],{"class":1667},"Latest technology trends and tutorials",[1050,2296,2192],{"class":1663},[1050,2298,2206],{"class":1296},[1050,2300,2301,2303,2306,2308,2310,2313],{"class":1052,"line":1111},[1050,2302,2241],{"class":2184},[1050,2304,2305],{"class":2244},"is_active",[1050,2307,2192],{"class":2184},[1050,2309,2195],{"class":1296},[1050,2311,2312],{"class":1401}," true",[1050,2314,2206],{"class":1296},[1050,2316,2317,2319,2322,2324,2326,2328,2331],{"class":1052,"line":1117},[1050,2318,2241],{"class":2184},[1050,2320,2321],{"class":2244},"created_at",[1050,2323,2192],{"class":2184},[1050,2325,2195],{"class":1296},[1050,2327,2198],{"class":1663},[1050,2329,2330],{"class":1667},"2023-01-01T00:00:00Z",[1050,2332,2333],{"class":1663},"\"\n",[1050,2335,2336],{"class":1052,"line":1123},[1050,2337,1144],{"class":1296},[1050,2339,2340],{"class":1052,"line":1129},[1050,2341,1150],{"class":1296},[1050,2343,2344],{"class":1052,"line":1135},[1050,2345,1102],{"class":1296},[1050,2347,2348,2350,2352,2354,2356,2358,2360,2362],{"class":1052,"line":1141},[1050,2349,2185],{"class":2184},[1050,2351,2189],{"class":2188},[1050,2353,2192],{"class":2184},[1050,2355,2195],{"class":1296},[1050,2357,2198],{"class":1663},[1050,2359,2201],{"class":1667},[1050,2361,2192],{"class":1663},[1050,2363,2206],{"class":1296},[1050,2365,2366,2368,2370,2372,2374,2377],{"class":1052,"line":1147},[1050,2367,2185],{"class":2184},[1050,2369,2213],{"class":2188},[1050,2371,2192],{"class":2184},[1050,2373,2195],{"class":1296},[1050,2375,2376],{"class":1389}," 2",[1050,2378,2206],{"class":1296},[1050,2380,2381,2383,2385,2387,2389],{"class":1052,"line":1153},[1050,2382,2185],{"class":2184},[1050,2384,2229],{"class":2188},[1050,2386,2192],{"class":2184},[1050,2388,2195],{"class":1296},[1050,2390,2236],{"class":1296},[1050,2392,2393,2395,2397,2399,2401,2403,2406,2408],{"class":1052,"line":1158},[1050,2394,2241],{"class":2184},[1050,2396,2245],{"class":2244},[1050,2398,2192],{"class":2184},[1050,2400,2195],{"class":1296},[1050,2402,2198],{"class":1663},[1050,2404,2405],{"class":1667},"Programming",[1050,2407,2192],{"class":1663},[1050,2409,2206],{"class":1296},[1050,2411,2412,2414,2416,2418,2420,2422,2425,2427],{"class":1052,"line":1164},[1050,2413,2241],{"class":2184},[1050,2415,2265],{"class":2244},[1050,2417,2192],{"class":2184},[1050,2419,2195],{"class":1296},[1050,2421,2198],{"class":1663},[1050,2423,2424],{"class":1667},"programming",[1050,2426,2192],{"class":1663},[1050,2428,2206],{"class":1296},[1050,2430,2431,2433,2435,2437,2439,2441,2444,2446],{"class":1052,"line":1169},[1050,2432,2241],{"class":2184},[1050,2434,2285],{"class":2244},[1050,2436,2192],{"class":2184},[1050,2438,2195],{"class":1296},[1050,2440,2198],{"class":1663},[1050,2442,2443],{"class":1667},"Programming languages and best practices",[1050,2445,2192],{"class":1663},[1050,2447,2206],{"class":1296},[1050,2449,2450,2452,2454,2456,2458,2460],{"class":1052,"line":1174},[1050,2451,2241],{"class":2184},[1050,2453,2305],{"class":2244},[1050,2455,2192],{"class":2184},[1050,2457,2195],{"class":1296},[1050,2459,2312],{"class":1401},[1050,2461,2206],{"class":1296},[1050,2463,2464,2466,2468,2470,2472,2474,2476],{"class":1052,"line":1180},[1050,2465,2241],{"class":2184},[1050,2467,2321],{"class":2244},[1050,2469,2192],{"class":2184},[1050,2471,2195],{"class":1296},[1050,2473,2198],{"class":1663},[1050,2475,2330],{"class":1667},[1050,2477,2333],{"class":1663},[1050,2479,2480],{"class":1052,"line":1186},[1050,2481,1144],{"class":1296},[1050,2483,2484],{"class":1052,"line":1192},[1050,2485,1150],{"class":1296},[1050,2487,2488],{"class":1052,"line":1198},[1050,2489,1102],{"class":1296},[1050,2491,2492,2494,2496,2498,2500,2502,2504,2506],{"class":1052,"line":1204},[1050,2493,2185],{"class":2184},[1050,2495,2189],{"class":2188},[1050,2497,2192],{"class":2184},[1050,2499,2195],{"class":1296},[1050,2501,2198],{"class":1663},[1050,2503,2201],{"class":1667},[1050,2505,2192],{"class":1663},[1050,2507,2206],{"class":1296},[1050,2509,2510,2512,2514,2516,2518,2521],{"class":1052,"line":1210},[1050,2511,2185],{"class":2184},[1050,2513,2213],{"class":2188},[1050,2515,2192],{"class":2184},[1050,2517,2195],{"class":1296},[1050,2519,2520],{"class":1389}," 3",[1050,2522,2206],{"class":1296},[1050,2524,2525,2527,2529,2531,2533],{"class":1052,"line":1216},[1050,2526,2185],{"class":2184},[1050,2528,2229],{"class":2188},[1050,2530,2192],{"class":2184},[1050,2532,2195],{"class":1296},[1050,2534,2236],{"class":1296},[1050,2536,2537,2539,2541,2543,2545,2547,2550,2552],{"class":1052,"line":1221},[1050,2538,2241],{"class":2184},[1050,2540,2245],{"class":2244},[1050,2542,2192],{"class":2184},[1050,2544,2195],{"class":1296},[1050,2546,2198],{"class":1663},[1050,2548,2549],{"class":1667},"Web Development",[1050,2551,2192],{"class":1663},[1050,2553,2206],{"class":1296},[1050,2555,2556,2558,2560,2562,2564,2566,2569,2571],{"class":1052,"line":1227},[1050,2557,2241],{"class":2184},[1050,2559,2265],{"class":2244},[1050,2561,2192],{"class":2184},[1050,2563,2195],{"class":1296},[1050,2565,2198],{"class":1663},[1050,2567,2568],{"class":1667},"web-development",[1050,2570,2192],{"class":1663},[1050,2572,2206],{"class":1296},[1050,2574,2575,2577,2579,2581,2583,2585,2588,2590],{"class":1052,"line":1233},[1050,2576,2241],{"class":2184},[1050,2578,2285],{"class":2244},[1050,2580,2192],{"class":2184},[1050,2582,2195],{"class":1296},[1050,2584,2198],{"class":1663},[1050,2586,2587],{"class":1667},"Frontend and backend web development",[1050,2589,2192],{"class":1663},[1050,2591,2206],{"class":1296},[1050,2593,2594,2596,2598,2600,2602,2604],{"class":1052,"line":1238},[1050,2595,2241],{"class":2184},[1050,2597,2305],{"class":2244},[1050,2599,2192],{"class":2184},[1050,2601,2195],{"class":1296},[1050,2603,2312],{"class":1401},[1050,2605,2206],{"class":1296},[1050,2607,2608,2610,2612,2614,2616,2618,2620],{"class":1052,"line":1243},[1050,2609,2241],{"class":2184},[1050,2611,2321],{"class":2244},[1050,2613,2192],{"class":2184},[1050,2615,2195],{"class":1296},[1050,2617,2198],{"class":1663},[1050,2619,2330],{"class":1667},[1050,2621,2333],{"class":1663},[1050,2623,2624],{"class":1052,"line":1249},[1050,2625,1144],{"class":1296},[1050,2627,2628],{"class":1052,"line":1255},[1050,2629,1224],{"class":1296},[1050,2631,2632],{"class":1052,"line":1260},[1050,2633,1230],{"class":1296},[1040,2635,2637],{"className":2162,"code":2636,"language":2164,"meta":1045,"style":1045},"// blog/fixtures/tags.json\n[\n  {\n    \"model\": \"blog.tag\",\n    \"pk\": 1,\n    \"fields\": {\n      \"name\": \"Django\",\n      \"slug\": \"django\",\n      \"color\": \"#092e20\"\n    }\n  },\n  {\n    \"model\": \"blog.tag\",\n    \"pk\": 2,\n    \"fields\": {\n      \"name\": \"Python\",\n      \"slug\": \"python\",\n      \"color\": \"#3776ab\"\n    }\n  },\n  {\n    \"model\": \"blog.tag\",\n    \"pk\": 3,\n    \"fields\": {\n      \"name\": \"JavaScript\",\n      \"slug\": \"javascript\",\n      \"color\": \"#f7df1e\"\n    }\n  },\n  {\n    \"model\": \"blog.tag\",\n    \"pk\": 4,\n    \"fields\": {\n      \"name\": \"React\",\n      \"slug\": \"react\",\n      \"color\": \"#61dafb\"\n    }\n  }\n]\n",[1047,2638,2639,2644,2648,2652,2671,2685,2697,2716,2735,2753,2757,2761,2765,2783,2797,2809,2828,2846,2863,2867,2871,2875,2893,2907,2919,2938,2957,2974,2978,2982,2986,3004,3019,3031,3050,3069,3086,3090,3094],{"__ignoreMap":1045},[1050,2640,2641],{"class":1052,"line":1053},[1050,2642,2643],{"class":1056},"// blog/fixtures/tags.json\n",[1050,2645,2646],{"class":1052,"line":1060},[1050,2647,1096],{"class":1296},[1050,2649,2650],{"class":1052,"line":1066},[1050,2651,1102],{"class":1296},[1050,2653,2654,2656,2658,2660,2662,2664,2667,2669],{"class":1052,"line":1072},[1050,2655,2185],{"class":2184},[1050,2657,2189],{"class":2188},[1050,2659,2192],{"class":2184},[1050,2661,2195],{"class":1296},[1050,2663,2198],{"class":1663},[1050,2665,2666],{"class":1667},"blog.tag",[1050,2668,2192],{"class":1663},[1050,2670,2206],{"class":1296},[1050,2672,2673,2675,2677,2679,2681,2683],{"class":1052,"line":1079},[1050,2674,2185],{"class":2184},[1050,2676,2213],{"class":2188},[1050,2678,2192],{"class":2184},[1050,2680,2195],{"class":1296},[1050,2682,2220],{"class":1389},[1050,2684,2206],{"class":1296},[1050,2686,2687,2689,2691,2693,2695],{"class":1052,"line":1085},[1050,2688,2185],{"class":2184},[1050,2690,2229],{"class":2188},[1050,2692,2192],{"class":2184},[1050,2694,2195],{"class":1296},[1050,2696,2236],{"class":1296},[1050,2698,2699,2701,2703,2705,2707,2709,2712,2714],{"class":1052,"line":1092},[1050,2700,2241],{"class":2184},[1050,2702,2245],{"class":2244},[1050,2704,2192],{"class":2184},[1050,2706,2195],{"class":1296},[1050,2708,2198],{"class":1663},[1050,2710,2711],{"class":1667},"Django",[1050,2713,2192],{"class":1663},[1050,2715,2206],{"class":1296},[1050,2717,2718,2720,2722,2724,2726,2728,2731,2733],{"class":1052,"line":1099},[1050,2719,2241],{"class":2184},[1050,2721,2265],{"class":2244},[1050,2723,2192],{"class":2184},[1050,2725,2195],{"class":1296},[1050,2727,2198],{"class":1663},[1050,2729,2730],{"class":1667},"django",[1050,2732,2192],{"class":1663},[1050,2734,2206],{"class":1296},[1050,2736,2737,2739,2742,2744,2746,2748,2751],{"class":1052,"line":1105},[1050,2738,2241],{"class":2184},[1050,2740,2741],{"class":2244},"color",[1050,2743,2192],{"class":2184},[1050,2745,2195],{"class":1296},[1050,2747,2198],{"class":1663},[1050,2749,2750],{"class":1667},"#092e20",[1050,2752,2333],{"class":1663},[1050,2754,2755],{"class":1052,"line":1111},[1050,2756,1144],{"class":1296},[1050,2758,2759],{"class":1052,"line":1117},[1050,2760,1150],{"class":1296},[1050,2762,2763],{"class":1052,"line":1123},[1050,2764,1102],{"class":1296},[1050,2766,2767,2769,2771,2773,2775,2777,2779,2781],{"class":1052,"line":1129},[1050,2768,2185],{"class":2184},[1050,2770,2189],{"class":2188},[1050,2772,2192],{"class":2184},[1050,2774,2195],{"class":1296},[1050,2776,2198],{"class":1663},[1050,2778,2666],{"class":1667},[1050,2780,2192],{"class":1663},[1050,2782,2206],{"class":1296},[1050,2784,2785,2787,2789,2791,2793,2795],{"class":1052,"line":1135},[1050,2786,2185],{"class":2184},[1050,2788,2213],{"class":2188},[1050,2790,2192],{"class":2184},[1050,2792,2195],{"class":1296},[1050,2794,2376],{"class":1389},[1050,2796,2206],{"class":1296},[1050,2798,2799,2801,2803,2805,2807],{"class":1052,"line":1141},[1050,2800,2185],{"class":2184},[1050,2802,2229],{"class":2188},[1050,2804,2192],{"class":2184},[1050,2806,2195],{"class":1296},[1050,2808,2236],{"class":1296},[1050,2810,2811,2813,2815,2817,2819,2821,2824,2826],{"class":1052,"line":1147},[1050,2812,2241],{"class":2184},[1050,2814,2245],{"class":2244},[1050,2816,2192],{"class":2184},[1050,2818,2195],{"class":1296},[1050,2820,2198],{"class":1663},[1050,2822,2823],{"class":1667},"Python",[1050,2825,2192],{"class":1663},[1050,2827,2206],{"class":1296},[1050,2829,2830,2832,2834,2836,2838,2840,2842,2844],{"class":1052,"line":1153},[1050,2831,2241],{"class":2184},[1050,2833,2265],{"class":2244},[1050,2835,2192],{"class":2184},[1050,2837,2195],{"class":1296},[1050,2839,2198],{"class":1663},[1050,2841,1044],{"class":1667},[1050,2843,2192],{"class":1663},[1050,2845,2206],{"class":1296},[1050,2847,2848,2850,2852,2854,2856,2858,2861],{"class":1052,"line":1158},[1050,2849,2241],{"class":2184},[1050,2851,2741],{"class":2244},[1050,2853,2192],{"class":2184},[1050,2855,2195],{"class":1296},[1050,2857,2198],{"class":1663},[1050,2859,2860],{"class":1667},"#3776ab",[1050,2862,2333],{"class":1663},[1050,2864,2865],{"class":1052,"line":1164},[1050,2866,1144],{"class":1296},[1050,2868,2869],{"class":1052,"line":1169},[1050,2870,1150],{"class":1296},[1050,2872,2873],{"class":1052,"line":1174},[1050,2874,1102],{"class":1296},[1050,2876,2877,2879,2881,2883,2885,2887,2889,2891],{"class":1052,"line":1180},[1050,2878,2185],{"class":2184},[1050,2880,2189],{"class":2188},[1050,2882,2192],{"class":2184},[1050,2884,2195],{"class":1296},[1050,2886,2198],{"class":1663},[1050,2888,2666],{"class":1667},[1050,2890,2192],{"class":1663},[1050,2892,2206],{"class":1296},[1050,2894,2895,2897,2899,2901,2903,2905],{"class":1052,"line":1186},[1050,2896,2185],{"class":2184},[1050,2898,2213],{"class":2188},[1050,2900,2192],{"class":2184},[1050,2902,2195],{"class":1296},[1050,2904,2520],{"class":1389},[1050,2906,2206],{"class":1296},[1050,2908,2909,2911,2913,2915,2917],{"class":1052,"line":1192},[1050,2910,2185],{"class":2184},[1050,2912,2229],{"class":2188},[1050,2914,2192],{"class":2184},[1050,2916,2195],{"class":1296},[1050,2918,2236],{"class":1296},[1050,2920,2921,2923,2925,2927,2929,2931,2934,2936],{"class":1052,"line":1198},[1050,2922,2241],{"class":2184},[1050,2924,2245],{"class":2244},[1050,2926,2192],{"class":2184},[1050,2928,2195],{"class":1296},[1050,2930,2198],{"class":1663},[1050,2932,2933],{"class":1667},"JavaScript",[1050,2935,2192],{"class":1663},[1050,2937,2206],{"class":1296},[1050,2939,2940,2942,2944,2946,2948,2950,2953,2955],{"class":1052,"line":1204},[1050,2941,2241],{"class":2184},[1050,2943,2265],{"class":2244},[1050,2945,2192],{"class":2184},[1050,2947,2195],{"class":1296},[1050,2949,2198],{"class":1663},[1050,2951,2952],{"class":1667},"javascript",[1050,2954,2192],{"class":1663},[1050,2956,2206],{"class":1296},[1050,2958,2959,2961,2963,2965,2967,2969,2972],{"class":1052,"line":1210},[1050,2960,2241],{"class":2184},[1050,2962,2741],{"class":2244},[1050,2964,2192],{"class":2184},[1050,2966,2195],{"class":1296},[1050,2968,2198],{"class":1663},[1050,2970,2971],{"class":1667},"#f7df1e",[1050,2973,2333],{"class":1663},[1050,2975,2976],{"class":1052,"line":1216},[1050,2977,1144],{"class":1296},[1050,2979,2980],{"class":1052,"line":1221},[1050,2981,1150],{"class":1296},[1050,2983,2984],{"class":1052,"line":1227},[1050,2985,1102],{"class":1296},[1050,2987,2988,2990,2992,2994,2996,2998,3000,3002],{"class":1052,"line":1233},[1050,2989,2185],{"class":2184},[1050,2991,2189],{"class":2188},[1050,2993,2192],{"class":2184},[1050,2995,2195],{"class":1296},[1050,2997,2198],{"class":1663},[1050,2999,2666],{"class":1667},[1050,3001,2192],{"class":1663},[1050,3003,2206],{"class":1296},[1050,3005,3006,3008,3010,3012,3014,3017],{"class":1052,"line":1238},[1050,3007,2185],{"class":2184},[1050,3009,2213],{"class":2188},[1050,3011,2192],{"class":2184},[1050,3013,2195],{"class":1296},[1050,3015,3016],{"class":1389}," 4",[1050,3018,2206],{"class":1296},[1050,3020,3021,3023,3025,3027,3029],{"class":1052,"line":1243},[1050,3022,2185],{"class":2184},[1050,3024,2229],{"class":2188},[1050,3026,2192],{"class":2184},[1050,3028,2195],{"class":1296},[1050,3030,2236],{"class":1296},[1050,3032,3033,3035,3037,3039,3041,3043,3046,3048],{"class":1052,"line":1249},[1050,3034,2241],{"class":2184},[1050,3036,2245],{"class":2244},[1050,3038,2192],{"class":2184},[1050,3040,2195],{"class":1296},[1050,3042,2198],{"class":1663},[1050,3044,3045],{"class":1667},"React",[1050,3047,2192],{"class":1663},[1050,3049,2206],{"class":1296},[1050,3051,3052,3054,3056,3058,3060,3062,3065,3067],{"class":1052,"line":1255},[1050,3053,2241],{"class":2184},[1050,3055,2265],{"class":2244},[1050,3057,2192],{"class":2184},[1050,3059,2195],{"class":1296},[1050,3061,2198],{"class":1663},[1050,3063,3064],{"class":1667},"react",[1050,3066,2192],{"class":1663},[1050,3068,2206],{"class":1296},[1050,3070,3071,3073,3075,3077,3079,3081,3084],{"class":1052,"line":1260},[1050,3072,2241],{"class":2184},[1050,3074,2741],{"class":2244},[1050,3076,2192],{"class":2184},[1050,3078,2195],{"class":1296},[1050,3080,2198],{"class":1663},[1050,3082,3083],{"class":1667},"#61dafb",[1050,3085,2333],{"class":1663},[1050,3087,3088],{"class":1052,"line":1266},[1050,3089,1144],{"class":1296},[1050,3091,3092],{"class":1052,"line":2051},[1050,3093,1224],{"class":1296},[1050,3095,3096],{"class":1052,"line":2074},[1050,3097,1230],{"class":1296},[1040,3099,3101],{"className":2162,"code":3100,"language":2164,"meta":1045,"style":1045},"// blog/fixtures/users.json\n[\n  {\n    \"model\": \"auth.user\",\n    \"pk\": 1,\n    \"fields\": {\n      \"username\": \"admin\",\n      \"first_name\": \"Admin\",\n      \"last_name\": \"User\",\n      \"email\": \"admin@example.com\",\n      \"is_staff\": true,\n      \"is_active\": true,\n      \"is_superuser\": true,\n      \"date_joined\": \"2023-01-01T00:00:00Z\",\n      \"password\": \"pbkdf2_sha256$320000$xyz...\"\n    }\n  },\n  {\n    \"model\": \"auth.user\",\n    \"pk\": 2,\n    \"fields\": {\n      \"username\": \"john_doe\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"email\": \"john@example.com\",\n      \"is_staff\": false,\n      \"is_active\": true,\n      \"is_superuser\": false,\n      \"date_joined\": \"2023-01-02T00:00:00Z\",\n      \"password\": \"pbkdf2_sha256$320000$abc...\"\n    }\n  }\n]\n",[1047,3102,3103,3108,3112,3116,3135,3149,3161,3181,3201,3220,3240,3255,3269,3284,3303,3321,3325,3329,3333,3351,3365,3377,3396,3415,3434,3453,3468,3482,3496,3515,3532,3536,3540],{"__ignoreMap":1045},[1050,3104,3105],{"class":1052,"line":1053},[1050,3106,3107],{"class":1056},"// blog/fixtures/users.json\n",[1050,3109,3110],{"class":1052,"line":1060},[1050,3111,1096],{"class":1296},[1050,3113,3114],{"class":1052,"line":1066},[1050,3115,1102],{"class":1296},[1050,3117,3118,3120,3122,3124,3126,3128,3131,3133],{"class":1052,"line":1072},[1050,3119,2185],{"class":2184},[1050,3121,2189],{"class":2188},[1050,3123,2192],{"class":2184},[1050,3125,2195],{"class":1296},[1050,3127,2198],{"class":1663},[1050,3129,3130],{"class":1667},"auth.user",[1050,3132,2192],{"class":1663},[1050,3134,2206],{"class":1296},[1050,3136,3137,3139,3141,3143,3145,3147],{"class":1052,"line":1079},[1050,3138,2185],{"class":2184},[1050,3140,2213],{"class":2188},[1050,3142,2192],{"class":2184},[1050,3144,2195],{"class":1296},[1050,3146,2220],{"class":1389},[1050,3148,2206],{"class":1296},[1050,3150,3151,3153,3155,3157,3159],{"class":1052,"line":1085},[1050,3152,2185],{"class":2184},[1050,3154,2229],{"class":2188},[1050,3156,2192],{"class":2184},[1050,3158,2195],{"class":1296},[1050,3160,2236],{"class":1296},[1050,3162,3163,3165,3168,3170,3172,3174,3177,3179],{"class":1052,"line":1092},[1050,3164,2241],{"class":2184},[1050,3166,3167],{"class":2244},"username",[1050,3169,2192],{"class":2184},[1050,3171,2195],{"class":1296},[1050,3173,2198],{"class":1663},[1050,3175,3176],{"class":1667},"admin",[1050,3178,2192],{"class":1663},[1050,3180,2206],{"class":1296},[1050,3182,3183,3185,3188,3190,3192,3194,3197,3199],{"class":1052,"line":1099},[1050,3184,2241],{"class":2184},[1050,3186,3187],{"class":2244},"first_name",[1050,3189,2192],{"class":2184},[1050,3191,2195],{"class":1296},[1050,3193,2198],{"class":1663},[1050,3195,3196],{"class":1667},"Admin",[1050,3198,2192],{"class":1663},[1050,3200,2206],{"class":1296},[1050,3202,3203,3205,3208,3210,3212,3214,3216,3218],{"class":1052,"line":1105},[1050,3204,2241],{"class":2184},[1050,3206,3207],{"class":2244},"last_name",[1050,3209,2192],{"class":2184},[1050,3211,2195],{"class":1296},[1050,3213,2198],{"class":1663},[1050,3215,1897],{"class":1667},[1050,3217,2192],{"class":1663},[1050,3219,2206],{"class":1296},[1050,3221,3222,3224,3227,3229,3231,3233,3236,3238],{"class":1052,"line":1111},[1050,3223,2241],{"class":2184},[1050,3225,3226],{"class":2244},"email",[1050,3228,2192],{"class":2184},[1050,3230,2195],{"class":1296},[1050,3232,2198],{"class":1663},[1050,3234,3235],{"class":1667},"admin@example.com",[1050,3237,2192],{"class":1663},[1050,3239,2206],{"class":1296},[1050,3241,3242,3244,3247,3249,3251,3253],{"class":1052,"line":1117},[1050,3243,2241],{"class":2184},[1050,3245,3246],{"class":2244},"is_staff",[1050,3248,2192],{"class":2184},[1050,3250,2195],{"class":1296},[1050,3252,2312],{"class":1401},[1050,3254,2206],{"class":1296},[1050,3256,3257,3259,3261,3263,3265,3267],{"class":1052,"line":1123},[1050,3258,2241],{"class":2184},[1050,3260,2305],{"class":2244},[1050,3262,2192],{"class":2184},[1050,3264,2195],{"class":1296},[1050,3266,2312],{"class":1401},[1050,3268,2206],{"class":1296},[1050,3270,3271,3273,3276,3278,3280,3282],{"class":1052,"line":1129},[1050,3272,2241],{"class":2184},[1050,3274,3275],{"class":2244},"is_superuser",[1050,3277,2192],{"class":2184},[1050,3279,2195],{"class":1296},[1050,3281,2312],{"class":1401},[1050,3283,2206],{"class":1296},[1050,3285,3286,3288,3291,3293,3295,3297,3299,3301],{"class":1052,"line":1135},[1050,3287,2241],{"class":2184},[1050,3289,3290],{"class":2244},"date_joined",[1050,3292,2192],{"class":2184},[1050,3294,2195],{"class":1296},[1050,3296,2198],{"class":1663},[1050,3298,2330],{"class":1667},[1050,3300,2192],{"class":1663},[1050,3302,2206],{"class":1296},[1050,3304,3305,3307,3310,3312,3314,3316,3319],{"class":1052,"line":1141},[1050,3306,2241],{"class":2184},[1050,3308,3309],{"class":2244},"password",[1050,3311,2192],{"class":2184},[1050,3313,2195],{"class":1296},[1050,3315,2198],{"class":1663},[1050,3317,3318],{"class":1667},"pbkdf2_sha256$320000$xyz...",[1050,3320,2333],{"class":1663},[1050,3322,3323],{"class":1052,"line":1147},[1050,3324,1144],{"class":1296},[1050,3326,3327],{"class":1052,"line":1153},[1050,3328,1150],{"class":1296},[1050,3330,3331],{"class":1052,"line":1158},[1050,3332,1102],{"class":1296},[1050,3334,3335,3337,3339,3341,3343,3345,3347,3349],{"class":1052,"line":1164},[1050,3336,2185],{"class":2184},[1050,3338,2189],{"class":2188},[1050,3340,2192],{"class":2184},[1050,3342,2195],{"class":1296},[1050,3344,2198],{"class":1663},[1050,3346,3130],{"class":1667},[1050,3348,2192],{"class":1663},[1050,3350,2206],{"class":1296},[1050,3352,3353,3355,3357,3359,3361,3363],{"class":1052,"line":1169},[1050,3354,2185],{"class":2184},[1050,3356,2213],{"class":2188},[1050,3358,2192],{"class":2184},[1050,3360,2195],{"class":1296},[1050,3362,2376],{"class":1389},[1050,3364,2206],{"class":1296},[1050,3366,3367,3369,3371,3373,3375],{"class":1052,"line":1174},[1050,3368,2185],{"class":2184},[1050,3370,2229],{"class":2188},[1050,3372,2192],{"class":2184},[1050,3374,2195],{"class":1296},[1050,3376,2236],{"class":1296},[1050,3378,3379,3381,3383,3385,3387,3389,3392,3394],{"class":1052,"line":1180},[1050,3380,2241],{"class":2184},[1050,3382,3167],{"class":2244},[1050,3384,2192],{"class":2184},[1050,3386,2195],{"class":1296},[1050,3388,2198],{"class":1663},[1050,3390,3391],{"class":1667},"john_doe",[1050,3393,2192],{"class":1663},[1050,3395,2206],{"class":1296},[1050,3397,3398,3400,3402,3404,3406,3408,3411,3413],{"class":1052,"line":1186},[1050,3399,2241],{"class":2184},[1050,3401,3187],{"class":2244},[1050,3403,2192],{"class":2184},[1050,3405,2195],{"class":1296},[1050,3407,2198],{"class":1663},[1050,3409,3410],{"class":1667},"John",[1050,3412,2192],{"class":1663},[1050,3414,2206],{"class":1296},[1050,3416,3417,3419,3421,3423,3425,3427,3430,3432],{"class":1052,"line":1192},[1050,3418,2241],{"class":2184},[1050,3420,3207],{"class":2244},[1050,3422,2192],{"class":2184},[1050,3424,2195],{"class":1296},[1050,3426,2198],{"class":1663},[1050,3428,3429],{"class":1667},"Doe",[1050,3431,2192],{"class":1663},[1050,3433,2206],{"class":1296},[1050,3435,3436,3438,3440,3442,3444,3446,3449,3451],{"class":1052,"line":1198},[1050,3437,2241],{"class":2184},[1050,3439,3226],{"class":2244},[1050,3441,2192],{"class":2184},[1050,3443,2195],{"class":1296},[1050,3445,2198],{"class":1663},[1050,3447,3448],{"class":1667},"john@example.com",[1050,3450,2192],{"class":1663},[1050,3452,2206],{"class":1296},[1050,3454,3455,3457,3459,3461,3463,3466],{"class":1052,"line":1204},[1050,3456,2241],{"class":2184},[1050,3458,3246],{"class":2244},[1050,3460,2192],{"class":2184},[1050,3462,2195],{"class":1296},[1050,3464,3465],{"class":1401}," false",[1050,3467,2206],{"class":1296},[1050,3469,3470,3472,3474,3476,3478,3480],{"class":1052,"line":1210},[1050,3471,2241],{"class":2184},[1050,3473,2305],{"class":2244},[1050,3475,2192],{"class":2184},[1050,3477,2195],{"class":1296},[1050,3479,2312],{"class":1401},[1050,3481,2206],{"class":1296},[1050,3483,3484,3486,3488,3490,3492,3494],{"class":1052,"line":1216},[1050,3485,2241],{"class":2184},[1050,3487,3275],{"class":2244},[1050,3489,2192],{"class":2184},[1050,3491,2195],{"class":1296},[1050,3493,3465],{"class":1401},[1050,3495,2206],{"class":1296},[1050,3497,3498,3500,3502,3504,3506,3508,3511,3513],{"class":1052,"line":1221},[1050,3499,2241],{"class":2184},[1050,3501,3290],{"class":2244},[1050,3503,2192],{"class":2184},[1050,3505,2195],{"class":1296},[1050,3507,2198],{"class":1663},[1050,3509,3510],{"class":1667},"2023-01-02T00:00:00Z",[1050,3512,2192],{"class":1663},[1050,3514,2206],{"class":1296},[1050,3516,3517,3519,3521,3523,3525,3527,3530],{"class":1052,"line":1227},[1050,3518,2241],{"class":2184},[1050,3520,3309],{"class":2244},[1050,3522,2192],{"class":2184},[1050,3524,2195],{"class":1296},[1050,3526,2198],{"class":1663},[1050,3528,3529],{"class":1667},"pbkdf2_sha256$320000$abc...",[1050,3531,2333],{"class":1663},[1050,3533,3534],{"class":1052,"line":1233},[1050,3535,1144],{"class":1296},[1050,3537,3538],{"class":1052,"line":1238},[1050,3539,1224],{"class":1296},[1050,3541,3542],{"class":1052,"line":1243},[1050,3543,1230],{"class":1296},[1035,3545,3547],{"id":3546},"yaml-fixtures","YAML Fixtures",[1040,3549,3553],{"className":3550,"code":3551,"language":3552,"meta":1045,"style":1045},"language-yaml shiki shiki-themes material-theme-lighter vitesse-light vitesse-dark","# blog/fixtures/sample_posts.yaml\n- model: blog.post\n  pk: 1\n  fields:\n    title: \"Getting Started with Django\"\n    slug: \"getting-started-with-django\"\n    content: |\n      Django is a high-level Python web framework that encourages rapid development\n      and clean, pragmatic design. Built by experienced developers, it takes care of\n      much of the hassle of Web development, so you can focus on writing your app\n      without needing to reinvent the wheel.\n    author: 2\n    category: 1\n    status: \"published\"\n    view_count: 150\n    created_at: \"2023-01-15T10:00:00Z\"\n    published_at: \"2023-01-15T10:00:00Z\"\n\n- model: blog.post\n  pk: 2\n  fields:\n    title: \"Advanced Django ORM Techniques\"\n    slug: \"advanced-django-orm-techniques\"\n    content: |\n      The Django ORM provides a powerful abstraction layer for database operations.\n      In this post, we'll explore advanced techniques for optimizing queries,\n      handling complex relationships, and improving performance.\n    author: 2\n    category: 2\n    status: \"published\"\n    view_count: 89\n    created_at: \"2023-01-20T14:30:00Z\"\n    published_at: \"2023-01-20T14:30:00Z\"\n\n- model: blog.post\n  pk: 3\n  fields:\n    title: \"Building RESTful APIs with Django REST Framework\"\n    slug: \"building-restful-apis-django-rest-framework\"\n    content: |\n      Django REST Framework is a powerful toolkit for building Web APIs.\n      Learn how to create robust, scalable APIs with authentication,\n      serialization, and proper HTTP methods.\n    author: 1\n    category: 3\n    status: \"draft\"\n    view_count: 0\n    created_at: \"2023-01-25T09:15:00Z\"\n    published_at: null\n","yaml",[1047,3554,3555,3560,3574,3584,3592,3606,3620,3630,3635,3640,3645,3650,3660,3669,3682,3692,3706,3719,3723,3733,3741,3747,3760,3773,3781,3786,3791,3796,3804,3812,3824,3833,3846,3858,3862,3872,3881,3887,3900,3913,3921,3926,3931,3936,3944,3952,3965,3975,3989],{"__ignoreMap":1045},[1050,3556,3557],{"class":1052,"line":1053},[1050,3558,3559],{"class":1056},"# blog/fixtures/sample_posts.yaml\n",[1050,3561,3562,3565,3569,3571],{"class":1052,"line":1060},[1050,3563,3564],{"class":1296},"-",[1050,3566,3568],{"class":3567},"suXOh"," model",[1050,3570,2195],{"class":1296},[1050,3572,3573],{"class":1667}," blog.post\n",[1050,3575,3576,3579,3581],{"class":1052,"line":1066},[1050,3577,3578],{"class":3567},"  pk",[1050,3580,2195],{"class":1296},[1050,3582,3583],{"class":1389}," 1\n",[1050,3585,3586,3589],{"class":1052,"line":1072},[1050,3587,3588],{"class":3567},"  fields",[1050,3590,3591],{"class":1296},":\n",[1050,3593,3594,3597,3599,3601,3604],{"class":1052,"line":1079},[1050,3595,3596],{"class":3567},"    title",[1050,3598,2195],{"class":1296},[1050,3600,2198],{"class":1663},[1050,3602,3603],{"class":1667},"Getting Started with Django",[1050,3605,2333],{"class":1663},[1050,3607,3608,3611,3613,3615,3618],{"class":1052,"line":1085},[1050,3609,3610],{"class":3567},"    slug",[1050,3612,2195],{"class":1296},[1050,3614,2198],{"class":1663},[1050,3616,3617],{"class":1667},"getting-started-with-django",[1050,3619,2333],{"class":1663},[1050,3621,3622,3625,3627],{"class":1052,"line":1092},[1050,3623,3624],{"class":3567},"    content",[1050,3626,2195],{"class":1296},[1050,3628,3629],{"class":1288}," |\n",[1050,3631,3632],{"class":1052,"line":1099},[1050,3633,3634],{"class":1667},"      Django is a high-level Python web framework that encourages rapid development\n",[1050,3636,3637],{"class":1052,"line":1105},[1050,3638,3639],{"class":1667},"      and clean, pragmatic design. Built by experienced developers, it takes care of\n",[1050,3641,3642],{"class":1052,"line":1111},[1050,3643,3644],{"class":1667},"      much of the hassle of Web development, so you can focus on writing your app\n",[1050,3646,3647],{"class":1052,"line":1117},[1050,3648,3649],{"class":1667},"      without needing to reinvent the wheel.\n",[1050,3651,3652,3655,3657],{"class":1052,"line":1123},[1050,3653,3654],{"class":3567},"    author",[1050,3656,2195],{"class":1296},[1050,3658,3659],{"class":1389}," 2\n",[1050,3661,3662,3665,3667],{"class":1052,"line":1129},[1050,3663,3664],{"class":3567},"    category",[1050,3666,2195],{"class":1296},[1050,3668,3583],{"class":1389},[1050,3670,3671,3674,3676,3678,3680],{"class":1052,"line":1135},[1050,3672,3673],{"class":3567},"    status",[1050,3675,2195],{"class":1296},[1050,3677,2198],{"class":1663},[1050,3679,1764],{"class":1667},[1050,3681,2333],{"class":1663},[1050,3683,3684,3687,3689],{"class":1052,"line":1141},[1050,3685,3686],{"class":3567},"    view_count",[1050,3688,2195],{"class":1296},[1050,3690,3691],{"class":1389}," 150\n",[1050,3693,3694,3697,3699,3701,3704],{"class":1052,"line":1147},[1050,3695,3696],{"class":3567},"    created_at",[1050,3698,2195],{"class":1296},[1050,3700,2198],{"class":1663},[1050,3702,3703],{"class":1667},"2023-01-15T10:00:00Z",[1050,3705,2333],{"class":1663},[1050,3707,3708,3711,3713,3715,3717],{"class":1052,"line":1153},[1050,3709,3710],{"class":3567},"    published_at",[1050,3712,2195],{"class":1296},[1050,3714,2198],{"class":1663},[1050,3716,3703],{"class":1667},[1050,3718,2333],{"class":1663},[1050,3720,3721],{"class":1052,"line":1158},[1050,3722,1076],{"emptyLinePlaceholder":1075},[1050,3724,3725,3727,3729,3731],{"class":1052,"line":1164},[1050,3726,3564],{"class":1296},[1050,3728,3568],{"class":3567},[1050,3730,2195],{"class":1296},[1050,3732,3573],{"class":1667},[1050,3734,3735,3737,3739],{"class":1052,"line":1169},[1050,3736,3578],{"class":3567},[1050,3738,2195],{"class":1296},[1050,3740,3659],{"class":1389},[1050,3742,3743,3745],{"class":1052,"line":1174},[1050,3744,3588],{"class":3567},[1050,3746,3591],{"class":1296},[1050,3748,3749,3751,3753,3755,3758],{"class":1052,"line":1180},[1050,3750,3596],{"class":3567},[1050,3752,2195],{"class":1296},[1050,3754,2198],{"class":1663},[1050,3756,3757],{"class":1667},"Advanced Django ORM Techniques",[1050,3759,2333],{"class":1663},[1050,3761,3762,3764,3766,3768,3771],{"class":1052,"line":1186},[1050,3763,3610],{"class":3567},[1050,3765,2195],{"class":1296},[1050,3767,2198],{"class":1663},[1050,3769,3770],{"class":1667},"advanced-django-orm-techniques",[1050,3772,2333],{"class":1663},[1050,3774,3775,3777,3779],{"class":1052,"line":1192},[1050,3776,3624],{"class":3567},[1050,3778,2195],{"class":1296},[1050,3780,3629],{"class":1288},[1050,3782,3783],{"class":1052,"line":1198},[1050,3784,3785],{"class":1667},"      The Django ORM provides a powerful abstraction layer for database operations.\n",[1050,3787,3788],{"class":1052,"line":1204},[1050,3789,3790],{"class":1667},"      In this post, we'll explore advanced techniques for optimizing queries,\n",[1050,3792,3793],{"class":1052,"line":1210},[1050,3794,3795],{"class":1667},"      handling complex relationships, and improving performance.\n",[1050,3797,3798,3800,3802],{"class":1052,"line":1216},[1050,3799,3654],{"class":3567},[1050,3801,2195],{"class":1296},[1050,3803,3659],{"class":1389},[1050,3805,3806,3808,3810],{"class":1052,"line":1221},[1050,3807,3664],{"class":3567},[1050,3809,2195],{"class":1296},[1050,3811,3659],{"class":1389},[1050,3813,3814,3816,3818,3820,3822],{"class":1052,"line":1227},[1050,3815,3673],{"class":3567},[1050,3817,2195],{"class":1296},[1050,3819,2198],{"class":1663},[1050,3821,1764],{"class":1667},[1050,3823,2333],{"class":1663},[1050,3825,3826,3828,3830],{"class":1052,"line":1233},[1050,3827,3686],{"class":3567},[1050,3829,2195],{"class":1296},[1050,3831,3832],{"class":1389}," 89\n",[1050,3834,3835,3837,3839,3841,3844],{"class":1052,"line":1238},[1050,3836,3696],{"class":3567},[1050,3838,2195],{"class":1296},[1050,3840,2198],{"class":1663},[1050,3842,3843],{"class":1667},"2023-01-20T14:30:00Z",[1050,3845,2333],{"class":1663},[1050,3847,3848,3850,3852,3854,3856],{"class":1052,"line":1243},[1050,3849,3710],{"class":3567},[1050,3851,2195],{"class":1296},[1050,3853,2198],{"class":1663},[1050,3855,3843],{"class":1667},[1050,3857,2333],{"class":1663},[1050,3859,3860],{"class":1052,"line":1249},[1050,3861,1076],{"emptyLinePlaceholder":1075},[1050,3863,3864,3866,3868,3870],{"class":1052,"line":1255},[1050,3865,3564],{"class":1296},[1050,3867,3568],{"class":3567},[1050,3869,2195],{"class":1296},[1050,3871,3573],{"class":1667},[1050,3873,3874,3876,3878],{"class":1052,"line":1260},[1050,3875,3578],{"class":3567},[1050,3877,2195],{"class":1296},[1050,3879,3880],{"class":1389}," 3\n",[1050,3882,3883,3885],{"class":1052,"line":1266},[1050,3884,3588],{"class":3567},[1050,3886,3591],{"class":1296},[1050,3888,3889,3891,3893,3895,3898],{"class":1052,"line":2051},[1050,3890,3596],{"class":3567},[1050,3892,2195],{"class":1296},[1050,3894,2198],{"class":1663},[1050,3896,3897],{"class":1667},"Building RESTful APIs with Django REST Framework",[1050,3899,2333],{"class":1663},[1050,3901,3902,3904,3906,3908,3911],{"class":1052,"line":2074},[1050,3903,3610],{"class":3567},[1050,3905,2195],{"class":1296},[1050,3907,2198],{"class":1663},[1050,3909,3910],{"class":1667},"building-restful-apis-django-rest-framework",[1050,3912,2333],{"class":1663},[1050,3914,3915,3917,3919],{"class":1052,"line":2107},[1050,3916,3624],{"class":3567},[1050,3918,2195],{"class":1296},[1050,3920,3629],{"class":1288},[1050,3922,3923],{"class":1052,"line":2112},[1050,3924,3925],{"class":1667},"      Django REST Framework is a powerful toolkit for building Web APIs.\n",[1050,3927,3928],{"class":1052,"line":2125},[1050,3929,3930],{"class":1667},"      Learn how to create robust, scalable APIs with authentication,\n",[1050,3932,3933],{"class":1052,"line":2137},[1050,3934,3935],{"class":1667},"      serialization, and proper HTTP methods.\n",[1050,3937,3938,3940,3942],{"class":1052,"line":2142},[1050,3939,3654],{"class":3567},[1050,3941,2195],{"class":1296},[1050,3943,3583],{"class":1389},[1050,3945,3946,3948,3950],{"class":1052,"line":2148},[1050,3947,3664],{"class":3567},[1050,3949,2195],{"class":1296},[1050,3951,3880],{"class":1389},[1050,3953,3955,3957,3959,3961,3963],{"class":1052,"line":3954},46,[1050,3956,3673],{"class":3567},[1050,3958,2195],{"class":1296},[1050,3960,2198],{"class":1663},[1050,3962,1740],{"class":1667},[1050,3964,2333],{"class":1663},[1050,3966,3968,3970,3972],{"class":1052,"line":3967},47,[1050,3969,3686],{"class":3567},[1050,3971,2195],{"class":1296},[1050,3973,3974],{"class":1389}," 0\n",[1050,3976,3978,3980,3982,3984,3987],{"class":1052,"line":3977},48,[1050,3979,3696],{"class":3567},[1050,3981,2195],{"class":1296},[1050,3983,2198],{"class":1663},[1050,3985,3986],{"class":1667},"2023-01-25T09:15:00Z",[1050,3988,2333],{"class":1663},[1050,3990,3992,3994,3996],{"class":1052,"line":3991},49,[1050,3993,3710],{"class":3567},[1050,3995,2195],{"class":1296},[1050,3997,3999],{"class":3998},"sVsLi"," null\n",[1035,4001,4003],{"id":4002},"advanced-fixture-management","Advanced Fixture Management",[1040,4005,4007],{"className":1042,"code":4006,"language":1044,"meta":1045,"style":1045},"# management/commands/create_sample_data.py\nfrom django.core.management.base import BaseCommand\nfrom django.contrib.auth.models import User\nfrom blog.models import Category, Tag, Post\nfrom django.utils import timezone\nimport random\n\nclass Command(BaseCommand):\n    \"\"\"Create sample data for development\"\"\"\n    \n    help = 'Create sample blog data for development'\n    \n    def add_arguments(self, parser):\n        parser.add_argument('--posts', type=int, default=50, help='Number of posts to create')\n        parser.add_argument('--users', type=int, default=5, help='Number of users to create')\n        parser.add_argument('--clear', action='store_true', help='Clear existing data first')\n    \n    def handle(self, *args, **options):\n        if options['clear']:\n            self.stdout.write('Clearing existing data...')\n            Post.objects.all().delete()\n            User.objects.filter(is_superuser=False).delete()\n            Category.objects.all().delete()\n            Tag.objects.all().delete()\n        \n        # Create categories\n        categories = self.create_categories()\n        self.stdout.write(f'Created {len(categories)} categories')\n        \n        # Create tags\n        tags = self.create_tags()\n        self.stdout.write(f'Created {len(tags)} tags')\n        \n        # Create users\n        users = self.create_users(options['users'])\n        self.stdout.write(f'Created {len(users)} users')\n        \n        # Create posts\n        posts = self.create_posts(options['posts'], users, categories, tags)\n        self.stdout.write(f'Created {len(posts)} posts')\n        \n        self.stdout.write(\n            self.style.SUCCESS('Successfully created sample data')\n        )\n    \n    def create_categories(self):\n        \"\"\"Create sample categories\"\"\"\n        \n        category_data = [\n            ('Technology', 'technology', 'Latest technology trends and news'),\n            ('Programming', 'programming', 'Programming tutorials and tips'),\n            ('Web Development', 'web-development', 'Frontend and backend development'),\n            ('Data Science', 'data-science', 'Data analysis and machine learning'),\n            ('Mobile Development', 'mobile-development', 'iOS and Android development'),\n        ]\n        \n        categories = []\n        for name, slug, description in category_data:\n            category, created = Category.objects.get_or_create(\n                slug=slug,\n                defaults={\n                    'name': name,\n                    'description': description,\n                }\n            )\n            categories.append(category)\n        \n        return categories\n    \n    def create_tags(self):\n        \"\"\"Create sample tags\"\"\"\n        \n        tag_data = [\n            ('Django', 'django', '#092e20'),\n            ('Python', 'python', '#3776ab'),\n            ('JavaScript', 'javascript', '#f7df1e'),\n            ('React', 'react', '#61dafb'),\n            ('Vue.js', 'vuejs', '#4fc08d'),\n            ('Node.js', 'nodejs', '#339933'),\n            ('PostgreSQL', 'postgresql', '#336791'),\n            ('Docker', 'docker', '#2496ed'),\n            ('AWS', 'aws', '#ff9900'),\n            ('Machine Learning', 'machine-learning', '#ff6f00'),\n        ]\n        \n        tags = []\n        for name, slug, color in tag_data:\n            tag, created = Tag.objects.get_or_create(\n                slug=slug,\n                defaults={\n                    'name': name,\n                    'color': color,\n                }\n            )\n            tags.append(tag)\n        \n        return tags\n    \n    def create_users(self, count):\n        \"\"\"Create sample users\"\"\"\n        \n        users = []\n        for i in range(count):\n            username = f'user_{i+1}'\n            user, created = User.objects.get_or_create(\n                username=username,\n                defaults={\n                    'first_name': f'User',\n                    'last_name': f'{i+1}',\n                    'email': f'{username}@example.com',\n                    'is_active': True,\n                }\n            )\n            if created:\n                user.set_password('password123')\n                user.save()\n            \n            users.append(user)\n        \n        return users\n    \n    def create_posts(self, count, users, categories, tags):\n        \"\"\"Create sample posts\"\"\"\n        \n        sample_titles = [\n            \"Introduction to {topic}\",\n            \"Advanced {topic} Techniques\",\n            \"Best Practices for {topic}\",\n            \"Getting Started with {topic}\",\n            \"Mastering {topic}\",\n            \"Common {topic} Mistakes to Avoid\",\n            \"The Future of {topic}\",\n            \"Building Applications with {topic}\",\n            \"Optimizing {topic} Performance\",\n            \"Testing Strategies for {topic}\",\n        ]\n        \n        topics = [\n            'Django', 'Python', 'JavaScript', 'React', 'Vue.js',\n            'Node.js', 'PostgreSQL', 'Docker', 'AWS', 'Machine Learning'\n        ]\n        \n        posts = []\n        for i in range(count):\n            topic = random.choice(topics)\n            title_template = random.choice(sample_titles)\n            title = title_template.format(topic=topic)\n            \n            slug = title.lower().replace(' ', '-').replace(',', '')\n            \n            # Ensure unique slug\n            base_slug = slug\n            counter = 1\n            while Post.objects.filter(slug=slug).exists():\n                slug = f\"{base_slug}-{counter}\"\n                counter += 1\n            \n            content = self.generate_sample_content(topic)\n            \n            post = Post.objects.create(\n                title=title,\n                slug=slug,\n                content=content,\n                author=random.choice(users),\n                category=random.choice(categories),\n                status=random.choice(['draft', 'published', 'published', 'published']),  # More published\n                view_count=random.randint(0, 1000),\n                created_at=timezone.now() - timezone.timedelta(days=random.randint(1, 365)),\n            )\n            \n            # Add random tags\n            post_tags = random.sample(tags, random.randint(1, 4))\n            post.tags.set(post_tags)\n            \n            posts.append(post)\n        \n        return posts\n    \n    def generate_sample_content(self, topic):\n        \"\"\"Generate sample content for posts\"\"\"\n        \n        content_templates = [\n            f\"\"\"\n            {topic} is a powerful technology that has revolutionized the way we build applications.\n            In this comprehensive guide, we'll explore the key concepts and best practices.\n            \n            ## Getting Started\n            \n            To begin working with {topic}, you'll need to understand the fundamental concepts.\n            This includes understanding the architecture, core principles, and common patterns.\n            \n            ## Key Features\n            \n            Some of the most important features of {topic} include:\n            \n            - Scalability and performance\n            - Developer-friendly APIs\n            - Strong community support\n            - Extensive documentation\n            \n            ## Best Practices\n            \n            When working with {topic}, it's important to follow established best practices\n            to ensure your applications are maintainable and performant.\n            \n            ## Conclusion\n            \n            {topic} continues to evolve and improve, making it an excellent choice for\n            modern application development.\n            \"\"\",\n            \n            f\"\"\"\n            Learn how to effectively use {topic} in your next project. This tutorial\n            covers everything from basic setup to advanced techniques.\n            \n            ## Prerequisites\n            \n            Before diving into {topic}, make sure you have a solid understanding of\n            the underlying technologies and concepts.\n            \n            ## Implementation\n            \n            Let's walk through a practical implementation that demonstrates the\n            power and flexibility of {topic}.\n            \n            ## Common Pitfalls\n            \n            Avoid these common mistakes when working with {topic}:\n            \n            1. Not following naming conventions\n            2. Ignoring performance implications\n            3. Inadequate error handling\n            4. Poor documentation\n            \n            ## Next Steps\n            \n            Now that you understand the basics of {topic}, you can explore more\n            advanced topics and integrate it into your workflow.\n            \"\"\"\n        ]\n        \n        return random.choice(content_templates)\n\n# Fixture generation utility\nclass FixtureGenerator:\n    \"\"\"Generate fixtures from existing data\"\"\"\n    \n    @staticmethod\n    def export_model_data(model_class, filename=None, queryset=None):\n        \"\"\"Export model data to fixture file\"\"\"\n        \n        from django.core import serializers\n        import os\n        \n        if queryset is None:\n            queryset = model_class.objects.all()\n        \n        if filename is None:\n            filename = f\"{model_class._meta.app_label}_{model_class._meta.model_name}.json\"\n        \n        # Create fixtures directory if it doesn't exist\n        fixtures_dir = os.path.join(model_class._meta.app_config.path, 'fixtures')\n        os.makedirs(fixtures_dir, exist_ok=True)\n        \n        filepath = os.path.join(fixtures_dir, filename)\n        \n        # Serialize data\n        with open(filepath, 'w') as f:\n            serializers.serialize('json', queryset, indent=2, stream=f)\n        \n        return filepath\n    \n    @staticmethod\n    def export_sample_data():\n        \"\"\"Export sample data for all models\"\"\"\n        \n        from blog.models import Category, Tag, Post\n        \n        # Export categories\n        FixtureGenerator.export_model_data(Category, 'sample_categories.json')\n        \n        # Export tags\n        FixtureGenerator.export_model_data(Tag, 'sample_tags.json')\n        \n        # Export recent posts only\n        recent_posts = Post.objects.filter(\n            created_at__gte=timezone.now() - timezone.timedelta(days=30)\n        )\n        FixtureGenerator.export_model_data(Post, 'sample_posts.json', recent_posts)\n        \n        # Export users (excluding sensitive data)\n        users = User.objects.filter(is_active=True)\n        FixtureGenerator.export_model_data(User, 'sample_users.json', users)\n    \n    @staticmethod\n    def create_test_fixtures():\n        \"\"\"Create fixtures specifically for testing\"\"\"\n        \n        # Create minimal test data\n        test_category = Category.objects.create(\n            name='Test Category',\n            slug='test-category',\n            description='Category for testing'\n        )\n        \n        test_user = User.objects.create_user(\n            username='testuser',\n            email='test@example.com',\n            password='testpass123'\n        )\n        \n        test_post = Post.objects.create(\n            title='Test Post',\n            slug='test-post',\n            content='This is a test post content.',\n            author=test_user,\n            category=test_category,\n            status='published'\n        )\n        \n        # Export test fixtures\n        FixtureGenerator.export_model_data(\n            Category, \n            'test_categories.json',\n            Category.objects.filter(slug='test-category')\n        )\n        \n        FixtureGenerator.export_model_data(\n            User,\n            'test_users.json', \n            User.objects.filter(username='testuser')\n        )\n        \n        FixtureGenerator.export_model_data(\n            Post,\n            'test_posts.json',\n            Post.objects.filter(slug='test-post')\n        )\n",[1047,4008,4009,4014,4040,4062,4086,4102,4109,4113,4127,4137,4141,4156,4160,4180,4233,4282,4328,4332,4361,4382,4408,4431,4461,4480,4499,4504,4509,4525,4569,4573,4578,4594,4630,4634,4639,4669,4704,4708,4713,4758,4793,4797,4812,4837,4842,4846,4859,4869,4873,4882,4913,4943,4973,5005,5037,5043,5048,5058,5085,5111,5123,5132,5148,5164,5170,5176,5194,5199,5207,5212,5226,5236,5241,5251,5280,5309,5338,5367,5399,5431,5463,5495,5527,5559,5564,5569,5578,5601,5625,5636,5643,5658,5674,5679,5684,5701,5706,5714,5719,5738,5748,5753,5762,5782,5811,5836,5848,5855,5873,5902,5928,5944,5949,5954,5965,5987,5999,6005,6022,6027,6035,6040,6070,6080,6085,6095,6111,6128,6142,6156,6170,6187,6201,6215,6232,6246,6251,6256,6266,6310,6351,6356,6361,6370,6387,6410,6431,6458,6463,6517,6522,6528,6539,6549,6581,6611,6622,6627,6648,6653,6674,6687,6698,6711,6732,6752,6805,6831,6886,6891,6896,6902,6940,6962,6967,6984,6989,6997,7002,7021,7031,7036,7046,7054,7067,7073,7078,7084,7089,7104,7110,7115,7121,7126,7141,7146,7152,7158,7164,7170,7175,7181,7186,7201,7207,7212,7218,7223,7235,7241,7249,7254,7261,7276,7282,7287,7293,7298,7313,7319,7324,7330,7335,7341,7356,7361,7367,7372,7386,7391,7397,7403,7409,7415,7420,7426,7431,7446,7452,7458,7463,7468,7486,7491,7497,7507,7517,7522,7531,7565,7575,7580,7598,7607,7612,7628,7649,7654,7668,7717,7722,7728,7776,7803,7808,7836,7841,7847,7879,7923,7928,7936,7941,7948,7958,7968,7973,7996,8001,8007,8033,8038,8044,8068,8073,8079,8099,8134,8139,8169,8174,8180,8207,8235,8240,8247,8257,8267,8272,8278,8298,8315,8332,8347,8352,8357,8378,8395,8412,8427,8432,8437,8457,8474,8490,8507,8520,8532,8546,8551,8556,8562,8573,8583,8595,8622,8627,8632,8643,8650,8664,8691,8696,8701,8712,8719,8731,8758],{"__ignoreMap":1045},[1050,4010,4011],{"class":1052,"line":1053},[1050,4012,4013],{"class":1056},"# management/commands/create_sample_data.py\n",[1050,4015,4016,4018,4020,4022,4025,4027,4030,4032,4035,4037],{"class":1052,"line":1060},[1050,4017,1289],{"class":1288},[1050,4019,1293],{"class":1292},[1050,4021,1297],{"class":1296},[1050,4023,4024],{"class":1292},"core",[1050,4026,1297],{"class":1296},[1050,4028,4029],{"class":1292},"management",[1050,4031,1297],{"class":1296},[1050,4033,4034],{"class":1292},"base ",[1050,4036,1303],{"class":1288},[1050,4038,4039],{"class":1292}," BaseCommand\n",[1050,4041,4042,4044,4046,4048,4050,4052,4054,4056,4058,4060],{"class":1052,"line":1066},[1050,4043,1289],{"class":1288},[1050,4045,1293],{"class":1292},[1050,4047,1297],{"class":1296},[1050,4049,1317],{"class":1292},[1050,4051,1297],{"class":1296},[1050,4053,1322],{"class":1292},[1050,4055,1297],{"class":1296},[1050,4057,1327],{"class":1292},[1050,4059,1303],{"class":1288},[1050,4061,1332],{"class":1292},[1050,4063,4064,4066,4069,4071,4073,4075,4077,4079,4081,4083],{"class":1052,"line":1072},[1050,4065,1289],{"class":1288},[1050,4067,4068],{"class":1292}," blog",[1050,4070,1297],{"class":1296},[1050,4072,1327],{"class":1292},[1050,4074,1303],{"class":1288},[1050,4076,1346],{"class":1292},[1050,4078,1393],{"class":1296},[1050,4080,1560],{"class":1292},[1050,4082,1393],{"class":1296},[1050,4084,4085],{"class":1292}," Post\n",[1050,4087,4088,4090,4092,4094,4097,4099],{"class":1052,"line":1079},[1050,4089,1289],{"class":1288},[1050,4091,1293],{"class":1292},[1050,4093,1297],{"class":1296},[1050,4095,4096],{"class":1292},"utils ",[1050,4098,1303],{"class":1288},[1050,4100,4101],{"class":1292}," timezone\n",[1050,4103,4104,4106],{"class":1052,"line":1085},[1050,4105,1303],{"class":1288},[1050,4107,4108],{"class":1292}," random\n",[1050,4110,4111],{"class":1052,"line":1092},[1050,4112,1076],{"emptyLinePlaceholder":1075},[1050,4114,4115,4117,4120,4122,4125],{"class":1052,"line":1099},[1050,4116,1342],{"class":1341},[1050,4118,4119],{"class":1345}," Command",[1050,4121,1349],{"class":1296},[1050,4123,4124],{"class":1352},"BaseCommand",[1050,4126,1361],{"class":1296},[1050,4128,4129,4132,4135],{"class":1052,"line":1105},[1050,4130,4131],{"class":1088},"    \"\"\"",[1050,4133,4134],{"class":1095},"Create sample data for development",[1050,4136,1089],{"class":1088},[1050,4138,4139],{"class":1052,"line":1111},[1050,4140,1517],{"class":1292},[1050,4142,4143,4146,4148,4150,4153],{"class":1052,"line":1117},[1050,4144,4145],{"class":1525},"    help",[1050,4147,1727],{"class":1296},[1050,4149,1747],{"class":1663},[1050,4151,4152],{"class":1667},"Create sample blog data for development",[1050,4154,4155],{"class":1663},"'\n",[1050,4157,4158],{"class":1052,"line":1123},[1050,4159,1517],{"class":1292},[1050,4161,4162,4164,4168,4170,4172,4174,4178],{"class":1052,"line":1129},[1050,4163,1522],{"class":1341},[1050,4165,4167],{"class":4166},"sljsM"," add_arguments",[1050,4169,1349],{"class":1296},[1050,4171,1532],{"class":1531},[1050,4173,1393],{"class":1296},[1050,4175,4177],{"class":4176},"sCyAa"," parser",[1050,4179,1361],{"class":1296},[1050,4181,4182,4185,4187,4190,4192,4194,4197,4199,4201,4204,4206,4209,4211,4213,4215,4217,4219,4222,4224,4226,4229,4231],{"class":1052,"line":1135},[1050,4183,4184],{"class":1292},"        parser",[1050,4186,1297],{"class":1296},[1050,4188,4189],{"class":1377},"add_argument",[1050,4191,1349],{"class":1296},[1050,4193,1664],{"class":1663},[1050,4195,4196],{"class":1667},"--posts",[1050,4198,1664],{"class":1663},[1050,4200,1393],{"class":1296},[1050,4202,4203],{"class":1383}," type",[1050,4205,1369],{"class":1296},[1050,4207,4208],{"class":2244},"int",[1050,4210,1393],{"class":1296},[1050,4212,1658],{"class":1383},[1050,4214,1369],{"class":1296},[1050,4216,1591],{"class":1389},[1050,4218,1393],{"class":1296},[1050,4220,4221],{"class":1383}," help",[1050,4223,1369],{"class":1296},[1050,4225,1664],{"class":1663},[1050,4227,4228],{"class":1667},"Number of posts to create",[1050,4230,1664],{"class":1663},[1050,4232,1405],{"class":1296},[1050,4234,4235,4237,4239,4241,4243,4245,4248,4250,4252,4254,4256,4258,4260,4262,4264,4267,4269,4271,4273,4275,4278,4280],{"class":1052,"line":1141},[1050,4236,4184],{"class":1292},[1050,4238,1297],{"class":1296},[1050,4240,4189],{"class":1377},[1050,4242,1349],{"class":1296},[1050,4244,1664],{"class":1663},[1050,4246,4247],{"class":1667},"--users",[1050,4249,1664],{"class":1663},[1050,4251,1393],{"class":1296},[1050,4253,4203],{"class":1383},[1050,4255,1369],{"class":1296},[1050,4257,4208],{"class":2244},[1050,4259,1393],{"class":1296},[1050,4261,1658],{"class":1383},[1050,4263,1369],{"class":1296},[1050,4265,4266],{"class":1389},"5",[1050,4268,1393],{"class":1296},[1050,4270,4221],{"class":1383},[1050,4272,1369],{"class":1296},[1050,4274,1664],{"class":1663},[1050,4276,4277],{"class":1667},"Number of users to create",[1050,4279,1664],{"class":1663},[1050,4281,1405],{"class":1296},[1050,4283,4284,4286,4288,4290,4292,4294,4297,4299,4301,4304,4306,4308,4311,4313,4315,4317,4319,4321,4324,4326],{"class":1052,"line":1147},[1050,4285,4184],{"class":1292},[1050,4287,1297],{"class":1296},[1050,4289,4189],{"class":1377},[1050,4291,1349],{"class":1296},[1050,4293,1664],{"class":1663},[1050,4295,4296],{"class":1667},"--clear",[1050,4298,1664],{"class":1663},[1050,4300,1393],{"class":1296},[1050,4302,4303],{"class":1383}," action",[1050,4305,1369],{"class":1296},[1050,4307,1664],{"class":1663},[1050,4309,4310],{"class":1667},"store_true",[1050,4312,1664],{"class":1663},[1050,4314,1393],{"class":1296},[1050,4316,4221],{"class":1383},[1050,4318,1369],{"class":1296},[1050,4320,1664],{"class":1663},[1050,4322,4323],{"class":1667},"Clear existing data first",[1050,4325,1664],{"class":1663},[1050,4327,1405],{"class":1296},[1050,4329,4330],{"class":1052,"line":1153},[1050,4331,1517],{"class":1292},[1050,4333,4334,4336,4339,4341,4343,4345,4348,4351,4353,4356,4359],{"class":1052,"line":1158},[1050,4335,1522],{"class":1341},[1050,4337,4338],{"class":4166}," handle",[1050,4340,1349],{"class":1296},[1050,4342,1532],{"class":1531},[1050,4344,1393],{"class":1296},[1050,4346,4347],{"class":3998}," *",[1050,4349,4350],{"class":4176},"args",[1050,4352,1393],{"class":1296},[1050,4354,4355],{"class":3998}," **",[1050,4357,4358],{"class":4176},"options",[1050,4360,1361],{"class":1296},[1050,4362,4363,4366,4369,4372,4374,4377,4379],{"class":1052,"line":1164},[1050,4364,4365],{"class":1288},"        if",[1050,4367,4368],{"class":1292}," options",[1050,4370,4371],{"class":1296},"[",[1050,4373,1664],{"class":1663},[1050,4375,4376],{"class":1667},"clear",[1050,4378,1664],{"class":1663},[1050,4380,4381],{"class":1296},"]:\n",[1050,4383,4384,4387,4389,4392,4394,4397,4399,4401,4404,4406],{"class":1052,"line":1169},[1050,4385,4386],{"class":1542},"            self",[1050,4388,1297],{"class":1296},[1050,4390,4391],{"class":1548},"stdout",[1050,4393,1297],{"class":1296},[1050,4395,4396],{"class":1377},"write",[1050,4398,1349],{"class":1296},[1050,4400,1664],{"class":1663},[1050,4402,4403],{"class":1667},"Clearing existing data...",[1050,4405,1664],{"class":1663},[1050,4407,1405],{"class":1296},[1050,4409,4410,4413,4415,4418,4420,4423,4426,4429],{"class":1052,"line":1174},[1050,4411,4412],{"class":1292},"            Post",[1050,4414,1297],{"class":1296},[1050,4416,4417],{"class":1548},"objects",[1050,4419,1297],{"class":1296},[1050,4421,4422],{"class":1377},"all",[1050,4424,4425],{"class":1296},"().",[1050,4427,4428],{"class":1377},"delete",[1050,4430,1878],{"class":1296},[1050,4432,4433,4436,4438,4440,4442,4445,4447,4449,4451,4454,4457,4459],{"class":1052,"line":1180},[1050,4434,4435],{"class":1292},"            User",[1050,4437,1297],{"class":1296},[1050,4439,4417],{"class":1548},[1050,4441,1297],{"class":1296},[1050,4443,4444],{"class":1377},"filter",[1050,4446,1349],{"class":1296},[1050,4448,3275],{"class":1383},[1050,4450,1369],{"class":1296},[1050,4452,4453],{"class":1401},"False",[1050,4455,4456],{"class":1296},").",[1050,4458,4428],{"class":1377},[1050,4460,1878],{"class":1296},[1050,4462,4463,4466,4468,4470,4472,4474,4476,4478],{"class":1052,"line":1186},[1050,4464,4465],{"class":1292},"            Category",[1050,4467,1297],{"class":1296},[1050,4469,4417],{"class":1548},[1050,4471,1297],{"class":1296},[1050,4473,4422],{"class":1377},[1050,4475,4425],{"class":1296},[1050,4477,4428],{"class":1377},[1050,4479,1878],{"class":1296},[1050,4481,4482,4485,4487,4489,4491,4493,4495,4497],{"class":1052,"line":1192},[1050,4483,4484],{"class":1292},"            Tag",[1050,4486,1297],{"class":1296},[1050,4488,4417],{"class":1548},[1050,4490,1297],{"class":1296},[1050,4492,4422],{"class":1377},[1050,4494,4425],{"class":1296},[1050,4496,4428],{"class":1377},[1050,4498,1878],{"class":1296},[1050,4500,4501],{"class":1052,"line":1198},[1050,4502,4503],{"class":1292},"        \n",[1050,4505,4506],{"class":1052,"line":1204},[1050,4507,4508],{"class":1056},"        # Create categories\n",[1050,4510,4511,4514,4516,4518,4520,4523],{"class":1052,"line":1210},[1050,4512,4513],{"class":1292},"        categories ",[1050,4515,1369],{"class":1296},[1050,4517,1543],{"class":1542},[1050,4519,1297],{"class":1296},[1050,4521,4522],{"class":1377},"create_categories",[1050,4524,1878],{"class":1296},[1050,4526,4527,4530,4532,4534,4536,4538,4540,4543,4546,4550,4553,4555,4558,4561,4564,4567],{"class":1052,"line":1216},[1050,4528,4529],{"class":1542},"        self",[1050,4531,1297],{"class":1296},[1050,4533,4391],{"class":1548},[1050,4535,1297],{"class":1296},[1050,4537,4396],{"class":1377},[1050,4539,1349],{"class":1296},[1050,4541,4542],{"class":1341},"f",[1050,4544,4545],{"class":1667},"'Created ",[1050,4547,4549],{"class":4548},"s3h35","{",[1050,4551,4552],{"class":1525},"len",[1050,4554,1349],{"class":1296},[1050,4556,4557],{"class":1377},"categories",[1050,4559,4560],{"class":1296},")",[1050,4562,4563],{"class":4548},"}",[1050,4565,4566],{"class":1667}," categories'",[1050,4568,1405],{"class":1296},[1050,4570,4571],{"class":1052,"line":1221},[1050,4572,4503],{"class":1292},[1050,4574,4575],{"class":1052,"line":1227},[1050,4576,4577],{"class":1056},"        # Create tags\n",[1050,4579,4580,4583,4585,4587,4589,4592],{"class":1052,"line":1233},[1050,4581,4582],{"class":1292},"        tags ",[1050,4584,1369],{"class":1296},[1050,4586,1543],{"class":1542},[1050,4588,1297],{"class":1296},[1050,4590,4591],{"class":1377},"create_tags",[1050,4593,1878],{"class":1296},[1050,4595,4596,4598,4600,4602,4604,4606,4608,4610,4612,4614,4616,4618,4621,4623,4625,4628],{"class":1052,"line":1238},[1050,4597,4529],{"class":1542},[1050,4599,1297],{"class":1296},[1050,4601,4391],{"class":1548},[1050,4603,1297],{"class":1296},[1050,4605,4396],{"class":1377},[1050,4607,1349],{"class":1296},[1050,4609,4542],{"class":1341},[1050,4611,4545],{"class":1667},[1050,4613,4549],{"class":4548},[1050,4615,4552],{"class":1525},[1050,4617,1349],{"class":1296},[1050,4619,4620],{"class":1377},"tags",[1050,4622,4560],{"class":1296},[1050,4624,4563],{"class":4548},[1050,4626,4627],{"class":1667}," tags'",[1050,4629,1405],{"class":1296},[1050,4631,4632],{"class":1052,"line":1243},[1050,4633,4503],{"class":1292},[1050,4635,4636],{"class":1052,"line":1249},[1050,4637,4638],{"class":1056},"        # Create users\n",[1050,4640,4641,4644,4646,4648,4650,4653,4655,4657,4659,4661,4664,4666],{"class":1052,"line":1255},[1050,4642,4643],{"class":1292},"        users ",[1050,4645,1369],{"class":1296},[1050,4647,1543],{"class":1542},[1050,4649,1297],{"class":1296},[1050,4651,4652],{"class":1377},"create_users",[1050,4654,1349],{"class":1296},[1050,4656,4358],{"class":1377},[1050,4658,4371],{"class":1296},[1050,4660,1664],{"class":1663},[1050,4662,4663],{"class":1667},"users",[1050,4665,1664],{"class":1663},[1050,4667,4668],{"class":1296},"])\n",[1050,4670,4671,4673,4675,4677,4679,4681,4683,4685,4687,4689,4691,4693,4695,4697,4699,4702],{"class":1052,"line":1260},[1050,4672,4529],{"class":1542},[1050,4674,1297],{"class":1296},[1050,4676,4391],{"class":1548},[1050,4678,1297],{"class":1296},[1050,4680,4396],{"class":1377},[1050,4682,1349],{"class":1296},[1050,4684,4542],{"class":1341},[1050,4686,4545],{"class":1667},[1050,4688,4549],{"class":4548},[1050,4690,4552],{"class":1525},[1050,4692,1349],{"class":1296},[1050,4694,4663],{"class":1377},[1050,4696,4560],{"class":1296},[1050,4698,4563],{"class":4548},[1050,4700,4701],{"class":1667}," users'",[1050,4703,1405],{"class":1296},[1050,4705,4706],{"class":1052,"line":1266},[1050,4707,4503],{"class":1292},[1050,4709,4710],{"class":1052,"line":2051},[1050,4711,4712],{"class":1056},"        # Create posts\n",[1050,4714,4715,4718,4720,4722,4724,4727,4729,4731,4733,4735,4738,4740,4743,4746,4748,4751,4753,4756],{"class":1052,"line":2074},[1050,4716,4717],{"class":1292},"        posts ",[1050,4719,1369],{"class":1296},[1050,4721,1543],{"class":1542},[1050,4723,1297],{"class":1296},[1050,4725,4726],{"class":1377},"create_posts",[1050,4728,1349],{"class":1296},[1050,4730,4358],{"class":1377},[1050,4732,4371],{"class":1296},[1050,4734,1664],{"class":1663},[1050,4736,4737],{"class":1667},"posts",[1050,4739,1664],{"class":1663},[1050,4741,4742],{"class":1296},"],",[1050,4744,4745],{"class":1377}," users",[1050,4747,1393],{"class":1296},[1050,4749,4750],{"class":1377}," categories",[1050,4752,1393],{"class":1296},[1050,4754,4755],{"class":1377}," tags",[1050,4757,1405],{"class":1296},[1050,4759,4760,4762,4764,4766,4768,4770,4772,4774,4776,4778,4780,4782,4784,4786,4788,4791],{"class":1052,"line":2107},[1050,4761,4529],{"class":1542},[1050,4763,1297],{"class":1296},[1050,4765,4391],{"class":1548},[1050,4767,1297],{"class":1296},[1050,4769,4396],{"class":1377},[1050,4771,1349],{"class":1296},[1050,4773,4542],{"class":1341},[1050,4775,4545],{"class":1667},[1050,4777,4549],{"class":4548},[1050,4779,4552],{"class":1525},[1050,4781,1349],{"class":1296},[1050,4783,4737],{"class":1377},[1050,4785,4560],{"class":1296},[1050,4787,4563],{"class":4548},[1050,4789,4790],{"class":1667}," posts'",[1050,4792,1405],{"class":1296},[1050,4794,4795],{"class":1052,"line":2112},[1050,4796,4503],{"class":1292},[1050,4798,4799,4801,4803,4805,4807,4809],{"class":1052,"line":2125},[1050,4800,4529],{"class":1542},[1050,4802,1297],{"class":1296},[1050,4804,4391],{"class":1548},[1050,4806,1297],{"class":1296},[1050,4808,4396],{"class":1377},[1050,4810,4811],{"class":1296},"(\n",[1050,4813,4814,4816,4818,4821,4823,4826,4828,4830,4833,4835],{"class":1052,"line":2137},[1050,4815,4386],{"class":1542},[1050,4817,1297],{"class":1296},[1050,4819,4820],{"class":1548},"style",[1050,4822,1297],{"class":1296},[1050,4824,4825],{"class":1377},"SUCCESS",[1050,4827,1349],{"class":1296},[1050,4829,1664],{"class":1663},[1050,4831,4832],{"class":1667},"Successfully created sample data",[1050,4834,1664],{"class":1663},[1050,4836,1405],{"class":1296},[1050,4838,4839],{"class":1052,"line":2142},[1050,4840,4841],{"class":1296},"        )\n",[1050,4843,4844],{"class":1052,"line":2148},[1050,4845,1517],{"class":1292},[1050,4847,4848,4850,4853,4855,4857],{"class":1052,"line":3954},[1050,4849,1522],{"class":1341},[1050,4851,4852],{"class":4166}," create_categories",[1050,4854,1349],{"class":1296},[1050,4856,1532],{"class":1531},[1050,4858,1361],{"class":1296},[1050,4860,4861,4864,4867],{"class":1052,"line":3967},[1050,4862,4863],{"class":1088},"        \"\"\"",[1050,4865,4866],{"class":1095},"Create sample categories",[1050,4868,1089],{"class":1088},[1050,4870,4871],{"class":1052,"line":3977},[1050,4872,4503],{"class":1292},[1050,4874,4875,4878,4880],{"class":1052,"line":3991},[1050,4876,4877],{"class":1292},"        category_data ",[1050,4879,1369],{"class":1296},[1050,4881,1730],{"class":1296},[1050,4883,4885,4888,4890,4892,4894,4896,4898,4900,4902,4904,4906,4909,4911],{"class":1052,"line":4884},50,[1050,4886,4887],{"class":1296},"            (",[1050,4889,1664],{"class":1663},[1050,4891,2254],{"class":1667},[1050,4893,1664],{"class":1663},[1050,4895,1393],{"class":1296},[1050,4897,1747],{"class":1663},[1050,4899,2274],{"class":1667},[1050,4901,1664],{"class":1663},[1050,4903,1393],{"class":1296},[1050,4905,1747],{"class":1663},[1050,4907,4908],{"class":1667},"Latest technology trends and news",[1050,4910,1664],{"class":1663},[1050,4912,1755],{"class":1296},[1050,4914,4916,4918,4920,4922,4924,4926,4928,4930,4932,4934,4936,4939,4941],{"class":1052,"line":4915},51,[1050,4917,4887],{"class":1296},[1050,4919,1664],{"class":1663},[1050,4921,2405],{"class":1667},[1050,4923,1664],{"class":1663},[1050,4925,1393],{"class":1296},[1050,4927,1747],{"class":1663},[1050,4929,2424],{"class":1667},[1050,4931,1664],{"class":1663},[1050,4933,1393],{"class":1296},[1050,4935,1747],{"class":1663},[1050,4937,4938],{"class":1667},"Programming tutorials and tips",[1050,4940,1664],{"class":1663},[1050,4942,1755],{"class":1296},[1050,4944,4946,4948,4950,4952,4954,4956,4958,4960,4962,4964,4966,4969,4971],{"class":1052,"line":4945},52,[1050,4947,4887],{"class":1296},[1050,4949,1664],{"class":1663},[1050,4951,2549],{"class":1667},[1050,4953,1664],{"class":1663},[1050,4955,1393],{"class":1296},[1050,4957,1747],{"class":1663},[1050,4959,2568],{"class":1667},[1050,4961,1664],{"class":1663},[1050,4963,1393],{"class":1296},[1050,4965,1747],{"class":1663},[1050,4967,4968],{"class":1667},"Frontend and backend development",[1050,4970,1664],{"class":1663},[1050,4972,1755],{"class":1296},[1050,4974,4976,4978,4980,4983,4985,4987,4989,4992,4994,4996,4998,5001,5003],{"class":1052,"line":4975},53,[1050,4977,4887],{"class":1296},[1050,4979,1664],{"class":1663},[1050,4981,4982],{"class":1667},"Data Science",[1050,4984,1664],{"class":1663},[1050,4986,1393],{"class":1296},[1050,4988,1747],{"class":1663},[1050,4990,4991],{"class":1667},"data-science",[1050,4993,1664],{"class":1663},[1050,4995,1393],{"class":1296},[1050,4997,1747],{"class":1663},[1050,4999,5000],{"class":1667},"Data analysis and machine learning",[1050,5002,1664],{"class":1663},[1050,5004,1755],{"class":1296},[1050,5006,5008,5010,5012,5015,5017,5019,5021,5024,5026,5028,5030,5033,5035],{"class":1052,"line":5007},54,[1050,5009,4887],{"class":1296},[1050,5011,1664],{"class":1663},[1050,5013,5014],{"class":1667},"Mobile Development",[1050,5016,1664],{"class":1663},[1050,5018,1393],{"class":1296},[1050,5020,1747],{"class":1663},[1050,5022,5023],{"class":1667},"mobile-development",[1050,5025,1664],{"class":1663},[1050,5027,1393],{"class":1296},[1050,5029,1747],{"class":1663},[1050,5031,5032],{"class":1667},"iOS and Android development",[1050,5034,1664],{"class":1663},[1050,5036,1755],{"class":1296},[1050,5038,5040],{"class":1052,"line":5039},55,[1050,5041,5042],{"class":1296},"        ]\n",[1050,5044,5046],{"class":1052,"line":5045},56,[1050,5047,4503],{"class":1292},[1050,5049,5051,5053,5055],{"class":1052,"line":5050},57,[1050,5052,4513],{"class":1292},[1050,5054,1369],{"class":1296},[1050,5056,5057],{"class":1296}," []\n",[1050,5059,5061,5064,5067,5069,5072,5074,5077,5080,5083],{"class":1052,"line":5060},58,[1050,5062,5063],{"class":1288},"        for",[1050,5065,5066],{"class":1292}," name",[1050,5068,1393],{"class":1296},[1050,5070,5071],{"class":1292}," slug",[1050,5073,1393],{"class":1296},[1050,5075,5076],{"class":1292}," description ",[1050,5078,5079],{"class":1288},"in",[1050,5081,5082],{"class":1292}," category_data",[1050,5084,3591],{"class":1296},[1050,5086,5088,5091,5093,5096,5098,5100,5102,5104,5106,5109],{"class":1052,"line":5087},59,[1050,5089,5090],{"class":1292},"            category",[1050,5092,1393],{"class":1296},[1050,5094,5095],{"class":1292}," created ",[1050,5097,1369],{"class":1296},[1050,5099,1346],{"class":1292},[1050,5101,1297],{"class":1296},[1050,5103,4417],{"class":1548},[1050,5105,1297],{"class":1296},[1050,5107,5108],{"class":1377},"get_or_create",[1050,5110,4811],{"class":1296},[1050,5112,5114,5117,5119,5121],{"class":1052,"line":5113},60,[1050,5115,5116],{"class":1383},"                slug",[1050,5118,1369],{"class":1296},[1050,5120,2265],{"class":1377},[1050,5122,2206],{"class":1296},[1050,5124,5126,5129],{"class":1052,"line":5125},61,[1050,5127,5128],{"class":1383},"                defaults",[1050,5130,5131],{"class":1296},"={\n",[1050,5133,5135,5138,5140,5142,5144,5146],{"class":1052,"line":5134},62,[1050,5136,5137],{"class":1663},"                    '",[1050,5139,2245],{"class":1667},[1050,5141,1664],{"class":1663},[1050,5143,2195],{"class":1296},[1050,5145,5066],{"class":1377},[1050,5147,2206],{"class":1296},[1050,5149,5151,5153,5155,5157,5159,5162],{"class":1052,"line":5150},63,[1050,5152,5137],{"class":1663},[1050,5154,2285],{"class":1667},[1050,5156,1664],{"class":1663},[1050,5158,2195],{"class":1296},[1050,5160,5161],{"class":1377}," description",[1050,5163,2206],{"class":1296},[1050,5165,5167],{"class":1052,"line":5166},64,[1050,5168,5169],{"class":1296},"                }\n",[1050,5171,5173],{"class":1052,"line":5172},65,[1050,5174,5175],{"class":1296},"            )\n",[1050,5177,5179,5182,5184,5187,5189,5192],{"class":1052,"line":5178},66,[1050,5180,5181],{"class":1292},"            categories",[1050,5183,1297],{"class":1296},[1050,5185,5186],{"class":1377},"append",[1050,5188,1349],{"class":1296},[1050,5190,5191],{"class":1377},"category",[1050,5193,1405],{"class":1296},[1050,5195,5197],{"class":1052,"line":5196},67,[1050,5198,4503],{"class":1292},[1050,5200,5202,5204],{"class":1052,"line":5201},68,[1050,5203,1539],{"class":1288},[1050,5205,5206],{"class":1292}," categories\n",[1050,5208,5210],{"class":1052,"line":5209},69,[1050,5211,1517],{"class":1292},[1050,5213,5215,5217,5220,5222,5224],{"class":1052,"line":5214},70,[1050,5216,1522],{"class":1341},[1050,5218,5219],{"class":4166}," create_tags",[1050,5221,1349],{"class":1296},[1050,5223,1532],{"class":1531},[1050,5225,1361],{"class":1296},[1050,5227,5229,5231,5234],{"class":1052,"line":5228},71,[1050,5230,4863],{"class":1088},[1050,5232,5233],{"class":1095},"Create sample tags",[1050,5235,1089],{"class":1088},[1050,5237,5239],{"class":1052,"line":5238},72,[1050,5240,4503],{"class":1292},[1050,5242,5244,5247,5249],{"class":1052,"line":5243},73,[1050,5245,5246],{"class":1292},"        tag_data ",[1050,5248,1369],{"class":1296},[1050,5250,1730],{"class":1296},[1050,5252,5254,5256,5258,5260,5262,5264,5266,5268,5270,5272,5274,5276,5278],{"class":1052,"line":5253},74,[1050,5255,4887],{"class":1296},[1050,5257,1664],{"class":1663},[1050,5259,2711],{"class":1667},[1050,5261,1664],{"class":1663},[1050,5263,1393],{"class":1296},[1050,5265,1747],{"class":1663},[1050,5267,2730],{"class":1667},[1050,5269,1664],{"class":1663},[1050,5271,1393],{"class":1296},[1050,5273,1747],{"class":1663},[1050,5275,2750],{"class":1667},[1050,5277,1664],{"class":1663},[1050,5279,1755],{"class":1296},[1050,5281,5283,5285,5287,5289,5291,5293,5295,5297,5299,5301,5303,5305,5307],{"class":1052,"line":5282},75,[1050,5284,4887],{"class":1296},[1050,5286,1664],{"class":1663},[1050,5288,2823],{"class":1667},[1050,5290,1664],{"class":1663},[1050,5292,1393],{"class":1296},[1050,5294,1747],{"class":1663},[1050,5296,1044],{"class":1667},[1050,5298,1664],{"class":1663},[1050,5300,1393],{"class":1296},[1050,5302,1747],{"class":1663},[1050,5304,2860],{"class":1667},[1050,5306,1664],{"class":1663},[1050,5308,1755],{"class":1296},[1050,5310,5312,5314,5316,5318,5320,5322,5324,5326,5328,5330,5332,5334,5336],{"class":1052,"line":5311},76,[1050,5313,4887],{"class":1296},[1050,5315,1664],{"class":1663},[1050,5317,2933],{"class":1667},[1050,5319,1664],{"class":1663},[1050,5321,1393],{"class":1296},[1050,5323,1747],{"class":1663},[1050,5325,2952],{"class":1667},[1050,5327,1664],{"class":1663},[1050,5329,1393],{"class":1296},[1050,5331,1747],{"class":1663},[1050,5333,2971],{"class":1667},[1050,5335,1664],{"class":1663},[1050,5337,1755],{"class":1296},[1050,5339,5341,5343,5345,5347,5349,5351,5353,5355,5357,5359,5361,5363,5365],{"class":1052,"line":5340},77,[1050,5342,4887],{"class":1296},[1050,5344,1664],{"class":1663},[1050,5346,3045],{"class":1667},[1050,5348,1664],{"class":1663},[1050,5350,1393],{"class":1296},[1050,5352,1747],{"class":1663},[1050,5354,3064],{"class":1667},[1050,5356,1664],{"class":1663},[1050,5358,1393],{"class":1296},[1050,5360,1747],{"class":1663},[1050,5362,3083],{"class":1667},[1050,5364,1664],{"class":1663},[1050,5366,1755],{"class":1296},[1050,5368,5370,5372,5374,5377,5379,5381,5383,5386,5388,5390,5392,5395,5397],{"class":1052,"line":5369},78,[1050,5371,4887],{"class":1296},[1050,5373,1664],{"class":1663},[1050,5375,5376],{"class":1667},"Vue.js",[1050,5378,1664],{"class":1663},[1050,5380,1393],{"class":1296},[1050,5382,1747],{"class":1663},[1050,5384,5385],{"class":1667},"vuejs",[1050,5387,1664],{"class":1663},[1050,5389,1393],{"class":1296},[1050,5391,1747],{"class":1663},[1050,5393,5394],{"class":1667},"#4fc08d",[1050,5396,1664],{"class":1663},[1050,5398,1755],{"class":1296},[1050,5400,5402,5404,5406,5409,5411,5413,5415,5418,5420,5422,5424,5427,5429],{"class":1052,"line":5401},79,[1050,5403,4887],{"class":1296},[1050,5405,1664],{"class":1663},[1050,5407,5408],{"class":1667},"Node.js",[1050,5410,1664],{"class":1663},[1050,5412,1393],{"class":1296},[1050,5414,1747],{"class":1663},[1050,5416,5417],{"class":1667},"nodejs",[1050,5419,1664],{"class":1663},[1050,5421,1393],{"class":1296},[1050,5423,1747],{"class":1663},[1050,5425,5426],{"class":1667},"#339933",[1050,5428,1664],{"class":1663},[1050,5430,1755],{"class":1296},[1050,5432,5434,5436,5438,5441,5443,5445,5447,5450,5452,5454,5456,5459,5461],{"class":1052,"line":5433},80,[1050,5435,4887],{"class":1296},[1050,5437,1664],{"class":1663},[1050,5439,5440],{"class":1667},"PostgreSQL",[1050,5442,1664],{"class":1663},[1050,5444,1393],{"class":1296},[1050,5446,1747],{"class":1663},[1050,5448,5449],{"class":1667},"postgresql",[1050,5451,1664],{"class":1663},[1050,5453,1393],{"class":1296},[1050,5455,1747],{"class":1663},[1050,5457,5458],{"class":1667},"#336791",[1050,5460,1664],{"class":1663},[1050,5462,1755],{"class":1296},[1050,5464,5466,5468,5470,5473,5475,5477,5479,5482,5484,5486,5488,5491,5493],{"class":1052,"line":5465},81,[1050,5467,4887],{"class":1296},[1050,5469,1664],{"class":1663},[1050,5471,5472],{"class":1667},"Docker",[1050,5474,1664],{"class":1663},[1050,5476,1393],{"class":1296},[1050,5478,1747],{"class":1663},[1050,5480,5481],{"class":1667},"docker",[1050,5483,1664],{"class":1663},[1050,5485,1393],{"class":1296},[1050,5487,1747],{"class":1663},[1050,5489,5490],{"class":1667},"#2496ed",[1050,5492,1664],{"class":1663},[1050,5494,1755],{"class":1296},[1050,5496,5498,5500,5502,5505,5507,5509,5511,5514,5516,5518,5520,5523,5525],{"class":1052,"line":5497},82,[1050,5499,4887],{"class":1296},[1050,5501,1664],{"class":1663},[1050,5503,5504],{"class":1667},"AWS",[1050,5506,1664],{"class":1663},[1050,5508,1393],{"class":1296},[1050,5510,1747],{"class":1663},[1050,5512,5513],{"class":1667},"aws",[1050,5515,1664],{"class":1663},[1050,5517,1393],{"class":1296},[1050,5519,1747],{"class":1663},[1050,5521,5522],{"class":1667},"#ff9900",[1050,5524,1664],{"class":1663},[1050,5526,1755],{"class":1296},[1050,5528,5530,5532,5534,5537,5539,5541,5543,5546,5548,5550,5552,5555,5557],{"class":1052,"line":5529},83,[1050,5531,4887],{"class":1296},[1050,5533,1664],{"class":1663},[1050,5535,5536],{"class":1667},"Machine Learning",[1050,5538,1664],{"class":1663},[1050,5540,1393],{"class":1296},[1050,5542,1747],{"class":1663},[1050,5544,5545],{"class":1667},"machine-learning",[1050,5547,1664],{"class":1663},[1050,5549,1393],{"class":1296},[1050,5551,1747],{"class":1663},[1050,5553,5554],{"class":1667},"#ff6f00",[1050,5556,1664],{"class":1663},[1050,5558,1755],{"class":1296},[1050,5560,5562],{"class":1052,"line":5561},84,[1050,5563,5042],{"class":1296},[1050,5565,5567],{"class":1052,"line":5566},85,[1050,5568,4503],{"class":1292},[1050,5570,5572,5574,5576],{"class":1052,"line":5571},86,[1050,5573,4582],{"class":1292},[1050,5575,1369],{"class":1296},[1050,5577,5057],{"class":1296},[1050,5579,5581,5583,5585,5587,5589,5591,5594,5596,5599],{"class":1052,"line":5580},87,[1050,5582,5063],{"class":1288},[1050,5584,5066],{"class":1292},[1050,5586,1393],{"class":1296},[1050,5588,5071],{"class":1292},[1050,5590,1393],{"class":1296},[1050,5592,5593],{"class":1292}," color ",[1050,5595,5079],{"class":1288},[1050,5597,5598],{"class":1292}," tag_data",[1050,5600,3591],{"class":1296},[1050,5602,5604,5607,5609,5611,5613,5615,5617,5619,5621,5623],{"class":1052,"line":5603},88,[1050,5605,5606],{"class":1292},"            tag",[1050,5608,1393],{"class":1296},[1050,5610,5095],{"class":1292},[1050,5612,1369],{"class":1296},[1050,5614,1560],{"class":1292},[1050,5616,1297],{"class":1296},[1050,5618,4417],{"class":1548},[1050,5620,1297],{"class":1296},[1050,5622,5108],{"class":1377},[1050,5624,4811],{"class":1296},[1050,5626,5628,5630,5632,5634],{"class":1052,"line":5627},89,[1050,5629,5116],{"class":1383},[1050,5631,1369],{"class":1296},[1050,5633,2265],{"class":1377},[1050,5635,2206],{"class":1296},[1050,5637,5639,5641],{"class":1052,"line":5638},90,[1050,5640,5128],{"class":1383},[1050,5642,5131],{"class":1296},[1050,5644,5646,5648,5650,5652,5654,5656],{"class":1052,"line":5645},91,[1050,5647,5137],{"class":1663},[1050,5649,2245],{"class":1667},[1050,5651,1664],{"class":1663},[1050,5653,2195],{"class":1296},[1050,5655,5066],{"class":1377},[1050,5657,2206],{"class":1296},[1050,5659,5661,5663,5665,5667,5669,5672],{"class":1052,"line":5660},92,[1050,5662,5137],{"class":1663},[1050,5664,2741],{"class":1667},[1050,5666,1664],{"class":1663},[1050,5668,2195],{"class":1296},[1050,5670,5671],{"class":1377}," color",[1050,5673,2206],{"class":1296},[1050,5675,5677],{"class":1052,"line":5676},93,[1050,5678,5169],{"class":1296},[1050,5680,5682],{"class":1052,"line":5681},94,[1050,5683,5175],{"class":1296},[1050,5685,5687,5690,5692,5694,5696,5699],{"class":1052,"line":5686},95,[1050,5688,5689],{"class":1292},"            tags",[1050,5691,1297],{"class":1296},[1050,5693,5186],{"class":1377},[1050,5695,1349],{"class":1296},[1050,5697,5698],{"class":1377},"tag",[1050,5700,1405],{"class":1296},[1050,5702,5704],{"class":1052,"line":5703},96,[1050,5705,4503],{"class":1292},[1050,5707,5709,5711],{"class":1052,"line":5708},97,[1050,5710,1539],{"class":1288},[1050,5712,5713],{"class":1292}," tags\n",[1050,5715,5717],{"class":1052,"line":5716},98,[1050,5718,1517],{"class":1292},[1050,5720,5722,5724,5727,5729,5731,5733,5736],{"class":1052,"line":5721},99,[1050,5723,1522],{"class":1341},[1050,5725,5726],{"class":4166}," create_users",[1050,5728,1349],{"class":1296},[1050,5730,1532],{"class":1531},[1050,5732,1393],{"class":1296},[1050,5734,5735],{"class":4176}," count",[1050,5737,1361],{"class":1296},[1050,5739,5741,5743,5746],{"class":1052,"line":5740},100,[1050,5742,4863],{"class":1088},[1050,5744,5745],{"class":1095},"Create sample users",[1050,5747,1089],{"class":1088},[1050,5749,5751],{"class":1052,"line":5750},101,[1050,5752,4503],{"class":1292},[1050,5754,5756,5758,5760],{"class":1052,"line":5755},102,[1050,5757,4643],{"class":1292},[1050,5759,1369],{"class":1296},[1050,5761,5057],{"class":1296},[1050,5763,5765,5767,5770,5772,5775,5777,5780],{"class":1052,"line":5764},103,[1050,5766,5063],{"class":1288},[1050,5768,5769],{"class":1292}," i ",[1050,5771,5079],{"class":1288},[1050,5773,5774],{"class":1525}," range",[1050,5776,1349],{"class":1296},[1050,5778,5779],{"class":1377},"count",[1050,5781,1361],{"class":1296},[1050,5783,5785,5788,5790,5793,5796,5798,5801,5804,5807,5809],{"class":1052,"line":5784},104,[1050,5786,5787],{"class":1292},"            username ",[1050,5789,1369],{"class":1296},[1050,5791,5792],{"class":1341}," f",[1050,5794,5795],{"class":1667},"'user_",[1050,5797,4549],{"class":4548},[1050,5799,5800],{"class":1292},"i",[1050,5802,5803],{"class":3998},"+",[1050,5805,5806],{"class":1389},"1",[1050,5808,4563],{"class":4548},[1050,5810,4155],{"class":1667},[1050,5812,5814,5817,5819,5821,5823,5826,5828,5830,5832,5834],{"class":1052,"line":5813},105,[1050,5815,5816],{"class":1292},"            user",[1050,5818,1393],{"class":1296},[1050,5820,5095],{"class":1292},[1050,5822,1369],{"class":1296},[1050,5824,5825],{"class":1292}," User",[1050,5827,1297],{"class":1296},[1050,5829,4417],{"class":1548},[1050,5831,1297],{"class":1296},[1050,5833,5108],{"class":1377},[1050,5835,4811],{"class":1296},[1050,5837,5839,5842,5844,5846],{"class":1052,"line":5838},106,[1050,5840,5841],{"class":1383},"                username",[1050,5843,1369],{"class":1296},[1050,5845,3167],{"class":1377},[1050,5847,2206],{"class":1296},[1050,5849,5851,5853],{"class":1052,"line":5850},107,[1050,5852,5128],{"class":1383},[1050,5854,5131],{"class":1296},[1050,5856,5858,5860,5862,5864,5866,5868,5871],{"class":1052,"line":5857},108,[1050,5859,5137],{"class":1663},[1050,5861,3187],{"class":1667},[1050,5863,1664],{"class":1663},[1050,5865,2195],{"class":1296},[1050,5867,5792],{"class":1341},[1050,5869,5870],{"class":1667},"'User'",[1050,5872,2206],{"class":1296},[1050,5874,5876,5878,5880,5882,5884,5886,5888,5890,5892,5894,5896,5898,5900],{"class":1052,"line":5875},109,[1050,5877,5137],{"class":1663},[1050,5879,3207],{"class":1667},[1050,5881,1664],{"class":1663},[1050,5883,2195],{"class":1296},[1050,5885,5792],{"class":1341},[1050,5887,1664],{"class":1667},[1050,5889,4549],{"class":4548},[1050,5891,5800],{"class":1377},[1050,5893,5803],{"class":3998},[1050,5895,5806],{"class":1389},[1050,5897,4563],{"class":4548},[1050,5899,1664],{"class":1667},[1050,5901,2206],{"class":1296},[1050,5903,5905,5907,5909,5911,5913,5915,5917,5919,5921,5923,5926],{"class":1052,"line":5904},110,[1050,5906,5137],{"class":1663},[1050,5908,3226],{"class":1667},[1050,5910,1664],{"class":1663},[1050,5912,2195],{"class":1296},[1050,5914,5792],{"class":1341},[1050,5916,1664],{"class":1667},[1050,5918,4549],{"class":4548},[1050,5920,3167],{"class":1377},[1050,5922,4563],{"class":4548},[1050,5924,5925],{"class":1667},"@example.com'",[1050,5927,2206],{"class":1296},[1050,5929,5931,5933,5935,5937,5939,5942],{"class":1052,"line":5930},111,[1050,5932,5137],{"class":1663},[1050,5934,2305],{"class":1667},[1050,5936,1664],{"class":1663},[1050,5938,2195],{"class":1296},[1050,5940,5941],{"class":1401}," True",[1050,5943,2206],{"class":1296},[1050,5945,5947],{"class":1052,"line":5946},112,[1050,5948,5169],{"class":1296},[1050,5950,5952],{"class":1052,"line":5951},113,[1050,5953,5175],{"class":1296},[1050,5955,5957,5960,5963],{"class":1052,"line":5956},114,[1050,5958,5959],{"class":1288},"            if",[1050,5961,5962],{"class":1292}," created",[1050,5964,3591],{"class":1296},[1050,5966,5968,5971,5973,5976,5978,5980,5983,5985],{"class":1052,"line":5967},115,[1050,5969,5970],{"class":1292},"                user",[1050,5972,1297],{"class":1296},[1050,5974,5975],{"class":1377},"set_password",[1050,5977,1349],{"class":1296},[1050,5979,1664],{"class":1663},[1050,5981,5982],{"class":1667},"password123",[1050,5984,1664],{"class":1663},[1050,5986,1405],{"class":1296},[1050,5988,5990,5992,5994,5997],{"class":1052,"line":5989},116,[1050,5991,5970],{"class":1292},[1050,5993,1297],{"class":1296},[1050,5995,5996],{"class":1377},"save",[1050,5998,1878],{"class":1296},[1050,6000,6002],{"class":1052,"line":6001},117,[1050,6003,6004],{"class":1292},"            \n",[1050,6006,6008,6011,6013,6015,6017,6020],{"class":1052,"line":6007},118,[1050,6009,6010],{"class":1292},"            users",[1050,6012,1297],{"class":1296},[1050,6014,5186],{"class":1377},[1050,6016,1349],{"class":1296},[1050,6018,6019],{"class":1377},"user",[1050,6021,1405],{"class":1296},[1050,6023,6025],{"class":1052,"line":6024},119,[1050,6026,4503],{"class":1292},[1050,6028,6030,6032],{"class":1052,"line":6029},120,[1050,6031,1539],{"class":1288},[1050,6033,6034],{"class":1292}," users\n",[1050,6036,6038],{"class":1052,"line":6037},121,[1050,6039,1517],{"class":1292},[1050,6041,6043,6045,6048,6050,6052,6054,6056,6058,6060,6062,6064,6066,6068],{"class":1052,"line":6042},122,[1050,6044,1522],{"class":1341},[1050,6046,6047],{"class":4166}," create_posts",[1050,6049,1349],{"class":1296},[1050,6051,1532],{"class":1531},[1050,6053,1393],{"class":1296},[1050,6055,5735],{"class":4176},[1050,6057,1393],{"class":1296},[1050,6059,4745],{"class":4176},[1050,6061,1393],{"class":1296},[1050,6063,4750],{"class":4176},[1050,6065,1393],{"class":1296},[1050,6067,4755],{"class":4176},[1050,6069,1361],{"class":1296},[1050,6071,6073,6075,6078],{"class":1052,"line":6072},123,[1050,6074,4863],{"class":1088},[1050,6076,6077],{"class":1095},"Create sample posts",[1050,6079,1089],{"class":1088},[1050,6081,6083],{"class":1052,"line":6082},124,[1050,6084,4503],{"class":1292},[1050,6086,6088,6091,6093],{"class":1052,"line":6087},125,[1050,6089,6090],{"class":1292},"        sample_titles ",[1050,6092,1369],{"class":1296},[1050,6094,1730],{"class":1296},[1050,6096,6098,6101,6104,6107,6109],{"class":1052,"line":6097},126,[1050,6099,6100],{"class":1663},"            \"",[1050,6102,6103],{"class":1667},"Introduction to ",[1050,6105,6106],{"class":4548},"{topic}",[1050,6108,2192],{"class":1663},[1050,6110,2206],{"class":1296},[1050,6112,6114,6116,6119,6121,6124,6126],{"class":1052,"line":6113},127,[1050,6115,6100],{"class":1663},[1050,6117,6118],{"class":1667},"Advanced ",[1050,6120,6106],{"class":4548},[1050,6122,6123],{"class":1667}," Techniques",[1050,6125,2192],{"class":1663},[1050,6127,2206],{"class":1296},[1050,6129,6131,6133,6136,6138,6140],{"class":1052,"line":6130},128,[1050,6132,6100],{"class":1663},[1050,6134,6135],{"class":1667},"Best Practices for ",[1050,6137,6106],{"class":4548},[1050,6139,2192],{"class":1663},[1050,6141,2206],{"class":1296},[1050,6143,6145,6147,6150,6152,6154],{"class":1052,"line":6144},129,[1050,6146,6100],{"class":1663},[1050,6148,6149],{"class":1667},"Getting Started with ",[1050,6151,6106],{"class":4548},[1050,6153,2192],{"class":1663},[1050,6155,2206],{"class":1296},[1050,6157,6159,6161,6164,6166,6168],{"class":1052,"line":6158},130,[1050,6160,6100],{"class":1663},[1050,6162,6163],{"class":1667},"Mastering ",[1050,6165,6106],{"class":4548},[1050,6167,2192],{"class":1663},[1050,6169,2206],{"class":1296},[1050,6171,6173,6175,6178,6180,6183,6185],{"class":1052,"line":6172},131,[1050,6174,6100],{"class":1663},[1050,6176,6177],{"class":1667},"Common ",[1050,6179,6106],{"class":4548},[1050,6181,6182],{"class":1667}," Mistakes to Avoid",[1050,6184,2192],{"class":1663},[1050,6186,2206],{"class":1296},[1050,6188,6190,6192,6195,6197,6199],{"class":1052,"line":6189},132,[1050,6191,6100],{"class":1663},[1050,6193,6194],{"class":1667},"The Future of ",[1050,6196,6106],{"class":4548},[1050,6198,2192],{"class":1663},[1050,6200,2206],{"class":1296},[1050,6202,6204,6206,6209,6211,6213],{"class":1052,"line":6203},133,[1050,6205,6100],{"class":1663},[1050,6207,6208],{"class":1667},"Building Applications with ",[1050,6210,6106],{"class":4548},[1050,6212,2192],{"class":1663},[1050,6214,2206],{"class":1296},[1050,6216,6218,6220,6223,6225,6228,6230],{"class":1052,"line":6217},134,[1050,6219,6100],{"class":1663},[1050,6221,6222],{"class":1667},"Optimizing ",[1050,6224,6106],{"class":4548},[1050,6226,6227],{"class":1667}," Performance",[1050,6229,2192],{"class":1663},[1050,6231,2206],{"class":1296},[1050,6233,6235,6237,6240,6242,6244],{"class":1052,"line":6234},135,[1050,6236,6100],{"class":1663},[1050,6238,6239],{"class":1667},"Testing Strategies for ",[1050,6241,6106],{"class":4548},[1050,6243,2192],{"class":1663},[1050,6245,2206],{"class":1296},[1050,6247,6249],{"class":1052,"line":6248},136,[1050,6250,5042],{"class":1296},[1050,6252,6254],{"class":1052,"line":6253},137,[1050,6255,4503],{"class":1292},[1050,6257,6259,6262,6264],{"class":1052,"line":6258},138,[1050,6260,6261],{"class":1292},"        topics ",[1050,6263,1369],{"class":1296},[1050,6265,1730],{"class":1296},[1050,6267,6269,6272,6274,6276,6278,6280,6282,6284,6286,6288,6290,6292,6294,6296,6298,6300,6302,6304,6306,6308],{"class":1052,"line":6268},139,[1050,6270,6271],{"class":1663},"            '",[1050,6273,2711],{"class":1667},[1050,6275,1664],{"class":1663},[1050,6277,1393],{"class":1296},[1050,6279,1747],{"class":1663},[1050,6281,2823],{"class":1667},[1050,6283,1664],{"class":1663},[1050,6285,1393],{"class":1296},[1050,6287,1747],{"class":1663},[1050,6289,2933],{"class":1667},[1050,6291,1664],{"class":1663},[1050,6293,1393],{"class":1296},[1050,6295,1747],{"class":1663},[1050,6297,3045],{"class":1667},[1050,6299,1664],{"class":1663},[1050,6301,1393],{"class":1296},[1050,6303,1747],{"class":1663},[1050,6305,5376],{"class":1667},[1050,6307,1664],{"class":1663},[1050,6309,2206],{"class":1296},[1050,6311,6313,6315,6317,6319,6321,6323,6325,6327,6329,6331,6333,6335,6337,6339,6341,6343,6345,6347,6349],{"class":1052,"line":6312},140,[1050,6314,6271],{"class":1663},[1050,6316,5408],{"class":1667},[1050,6318,1664],{"class":1663},[1050,6320,1393],{"class":1296},[1050,6322,1747],{"class":1663},[1050,6324,5440],{"class":1667},[1050,6326,1664],{"class":1663},[1050,6328,1393],{"class":1296},[1050,6330,1747],{"class":1663},[1050,6332,5472],{"class":1667},[1050,6334,1664],{"class":1663},[1050,6336,1393],{"class":1296},[1050,6338,1747],{"class":1663},[1050,6340,5504],{"class":1667},[1050,6342,1664],{"class":1663},[1050,6344,1393],{"class":1296},[1050,6346,1747],{"class":1663},[1050,6348,5536],{"class":1667},[1050,6350,4155],{"class":1663},[1050,6352,6354],{"class":1052,"line":6353},141,[1050,6355,5042],{"class":1296},[1050,6357,6359],{"class":1052,"line":6358},142,[1050,6360,4503],{"class":1292},[1050,6362,6364,6366,6368],{"class":1052,"line":6363},143,[1050,6365,4717],{"class":1292},[1050,6367,1369],{"class":1296},[1050,6369,5057],{"class":1296},[1050,6371,6373,6375,6377,6379,6381,6383,6385],{"class":1052,"line":6372},144,[1050,6374,5063],{"class":1288},[1050,6376,5769],{"class":1292},[1050,6378,5079],{"class":1288},[1050,6380,5774],{"class":1525},[1050,6382,1349],{"class":1296},[1050,6384,5779],{"class":1377},[1050,6386,1361],{"class":1296},[1050,6388,6390,6393,6395,6398,6400,6403,6405,6408],{"class":1052,"line":6389},145,[1050,6391,6392],{"class":1292},"            topic ",[1050,6394,1369],{"class":1296},[1050,6396,6397],{"class":1292}," random",[1050,6399,1297],{"class":1296},[1050,6401,6402],{"class":1377},"choice",[1050,6404,1349],{"class":1296},[1050,6406,6407],{"class":1377},"topics",[1050,6409,1405],{"class":1296},[1050,6411,6413,6416,6418,6420,6422,6424,6426,6429],{"class":1052,"line":6412},146,[1050,6414,6415],{"class":1292},"            title_template ",[1050,6417,1369],{"class":1296},[1050,6419,6397],{"class":1292},[1050,6421,1297],{"class":1296},[1050,6423,6402],{"class":1377},[1050,6425,1349],{"class":1296},[1050,6427,6428],{"class":1377},"sample_titles",[1050,6430,1405],{"class":1296},[1050,6432,6434,6437,6439,6442,6444,6447,6449,6452,6454,6456],{"class":1052,"line":6433},147,[1050,6435,6436],{"class":1292},"            title ",[1050,6438,1369],{"class":1296},[1050,6440,6441],{"class":1292}," title_template",[1050,6443,1297],{"class":1296},[1050,6445,6446],{"class":1377},"format",[1050,6448,1349],{"class":1296},[1050,6450,6451],{"class":1383},"topic",[1050,6453,1369],{"class":1296},[1050,6455,6451],{"class":1377},[1050,6457,1405],{"class":1296},[1050,6459,6461],{"class":1052,"line":6460},148,[1050,6462,6004],{"class":1292},[1050,6464,6466,6469,6471,6474,6476,6479,6481,6484,6486,6488,6490,6492,6494,6496,6498,6500,6502,6504,6506,6508,6510,6512,6515],{"class":1052,"line":6465},149,[1050,6467,6468],{"class":1292},"            slug ",[1050,6470,1369],{"class":1296},[1050,6472,6473],{"class":1292}," title",[1050,6475,1297],{"class":1296},[1050,6477,6478],{"class":1377},"lower",[1050,6480,4425],{"class":1296},[1050,6482,6483],{"class":1377},"replace",[1050,6485,1349],{"class":1296},[1050,6487,1664],{"class":1663},[1050,6489,1747],{"class":1663},[1050,6491,1393],{"class":1296},[1050,6493,1747],{"class":1663},[1050,6495,3564],{"class":1667},[1050,6497,1664],{"class":1663},[1050,6499,4456],{"class":1296},[1050,6501,6483],{"class":1377},[1050,6503,1349],{"class":1296},[1050,6505,1664],{"class":1663},[1050,6507,1393],{"class":1667},[1050,6509,1664],{"class":1663},[1050,6511,1393],{"class":1296},[1050,6513,6514],{"class":1663}," ''",[1050,6516,1405],{"class":1296},[1050,6518,6520],{"class":1052,"line":6519},150,[1050,6521,6004],{"class":1292},[1050,6523,6525],{"class":1052,"line":6524},151,[1050,6526,6527],{"class":1056},"            # Ensure unique slug\n",[1050,6529,6531,6534,6536],{"class":1052,"line":6530},152,[1050,6532,6533],{"class":1292},"            base_slug ",[1050,6535,1369],{"class":1296},[1050,6537,6538],{"class":1292}," slug\n",[1050,6540,6542,6545,6547],{"class":1052,"line":6541},153,[1050,6543,6544],{"class":1292},"            counter ",[1050,6546,1369],{"class":1296},[1050,6548,3583],{"class":1389},[1050,6550,6552,6555,6557,6559,6561,6563,6565,6567,6569,6571,6573,6575,6578],{"class":1052,"line":6551},154,[1050,6553,6554],{"class":1288},"            while",[1050,6556,1709],{"class":1292},[1050,6558,1297],{"class":1296},[1050,6560,4417],{"class":1548},[1050,6562,1297],{"class":1296},[1050,6564,4444],{"class":1377},[1050,6566,1349],{"class":1296},[1050,6568,2265],{"class":1383},[1050,6570,1369],{"class":1296},[1050,6572,2265],{"class":1377},[1050,6574,4456],{"class":1296},[1050,6576,6577],{"class":1377},"exists",[1050,6579,6580],{"class":1296},"():\n",[1050,6582,6584,6587,6589,6591,6593,6595,6598,6600,6602,6604,6607,6609],{"class":1052,"line":6583},155,[1050,6585,6586],{"class":1292},"                slug ",[1050,6588,1369],{"class":1296},[1050,6590,5792],{"class":1341},[1050,6592,2192],{"class":1667},[1050,6594,4549],{"class":4548},[1050,6596,6597],{"class":1292},"base_slug",[1050,6599,4563],{"class":4548},[1050,6601,3564],{"class":1667},[1050,6603,4549],{"class":4548},[1050,6605,6606],{"class":1292},"counter",[1050,6608,4563],{"class":4548},[1050,6610,2333],{"class":1667},[1050,6612,6614,6617,6620],{"class":1052,"line":6613},156,[1050,6615,6616],{"class":1292},"                counter ",[1050,6618,6619],{"class":1296},"+=",[1050,6621,3583],{"class":1389},[1050,6623,6625],{"class":1052,"line":6624},157,[1050,6626,6004],{"class":1292},[1050,6628,6630,6633,6635,6637,6639,6642,6644,6646],{"class":1052,"line":6629},158,[1050,6631,6632],{"class":1292},"            content ",[1050,6634,1369],{"class":1296},[1050,6636,1543],{"class":1542},[1050,6638,1297],{"class":1296},[1050,6640,6641],{"class":1377},"generate_sample_content",[1050,6643,1349],{"class":1296},[1050,6645,6451],{"class":1377},[1050,6647,1405],{"class":1296},[1050,6649,6651],{"class":1052,"line":6650},159,[1050,6652,6004],{"class":1292},[1050,6654,6656,6659,6661,6663,6665,6667,6669,6672],{"class":1052,"line":6655},160,[1050,6657,6658],{"class":1292},"            post ",[1050,6660,1369],{"class":1296},[1050,6662,1709],{"class":1292},[1050,6664,1297],{"class":1296},[1050,6666,4417],{"class":1548},[1050,6668,1297],{"class":1296},[1050,6670,6671],{"class":1377},"create",[1050,6673,4811],{"class":1296},[1050,6675,6677,6680,6682,6685],{"class":1052,"line":6676},161,[1050,6678,6679],{"class":1383},"                title",[1050,6681,1369],{"class":1296},[1050,6683,6684],{"class":1377},"title",[1050,6686,2206],{"class":1296},[1050,6688,6690,6692,6694,6696],{"class":1052,"line":6689},162,[1050,6691,5116],{"class":1383},[1050,6693,1369],{"class":1296},[1050,6695,2265],{"class":1377},[1050,6697,2206],{"class":1296},[1050,6699,6701,6704,6706,6709],{"class":1052,"line":6700},163,[1050,6702,6703],{"class":1383},"                content",[1050,6705,1369],{"class":1296},[1050,6707,6708],{"class":1377},"content",[1050,6710,2206],{"class":1296},[1050,6712,6714,6717,6719,6722,6724,6726,6728,6730],{"class":1052,"line":6713},164,[1050,6715,6716],{"class":1383},"                author",[1050,6718,1369],{"class":1296},[1050,6720,6721],{"class":1377},"random",[1050,6723,1297],{"class":1296},[1050,6725,6402],{"class":1377},[1050,6727,1349],{"class":1296},[1050,6729,4663],{"class":1377},[1050,6731,1755],{"class":1296},[1050,6733,6735,6738,6740,6742,6744,6746,6748,6750],{"class":1052,"line":6734},165,[1050,6736,6737],{"class":1383},"                category",[1050,6739,1369],{"class":1296},[1050,6741,6721],{"class":1377},[1050,6743,1297],{"class":1296},[1050,6745,6402],{"class":1377},[1050,6747,1349],{"class":1296},[1050,6749,4557],{"class":1377},[1050,6751,1755],{"class":1296},[1050,6753,6755,6758,6760,6762,6764,6766,6769,6771,6773,6775,6777,6779,6781,6783,6785,6787,6789,6791,6793,6795,6797,6799,6802],{"class":1052,"line":6754},166,[1050,6756,6757],{"class":1383},"                status",[1050,6759,1369],{"class":1296},[1050,6761,6721],{"class":1377},[1050,6763,1297],{"class":1296},[1050,6765,6402],{"class":1377},[1050,6767,6768],{"class":1296},"([",[1050,6770,1664],{"class":1663},[1050,6772,1740],{"class":1667},[1050,6774,1664],{"class":1663},[1050,6776,1393],{"class":1296},[1050,6778,1747],{"class":1663},[1050,6780,1764],{"class":1667},[1050,6782,1664],{"class":1663},[1050,6784,1393],{"class":1296},[1050,6786,1747],{"class":1663},[1050,6788,1764],{"class":1667},[1050,6790,1664],{"class":1663},[1050,6792,1393],{"class":1296},[1050,6794,1747],{"class":1663},[1050,6796,1764],{"class":1667},[1050,6798,1664],{"class":1663},[1050,6800,6801],{"class":1296},"]),",[1050,6803,6804],{"class":1056},"  # More published\n",[1050,6806,6808,6811,6813,6815,6817,6820,6822,6824,6826,6829],{"class":1052,"line":6807},167,[1050,6809,6810],{"class":1383},"                view_count",[1050,6812,1369],{"class":1296},[1050,6814,6721],{"class":1377},[1050,6816,1297],{"class":1296},[1050,6818,6819],{"class":1377},"randint",[1050,6821,1349],{"class":1296},[1050,6823,2046],{"class":1389},[1050,6825,1393],{"class":1296},[1050,6827,6828],{"class":1389}," 1000",[1050,6830,1755],{"class":1296},[1050,6832,6834,6837,6839,6842,6844,6847,6850,6853,6856,6858,6861,6863,6866,6868,6870,6872,6874,6876,6878,6880,6883],{"class":1052,"line":6833},168,[1050,6835,6836],{"class":1383},"                created_at",[1050,6838,1369],{"class":1296},[1050,6840,6841],{"class":1377},"timezone",[1050,6843,1297],{"class":1296},[1050,6845,6846],{"class":1377},"now",[1050,6848,6849],{"class":1296},"()",[1050,6851,6852],{"class":3998}," -",[1050,6854,6855],{"class":1377}," timezone",[1050,6857,1297],{"class":1296},[1050,6859,6860],{"class":1377},"timedelta",[1050,6862,1349],{"class":1296},[1050,6864,6865],{"class":1383},"days",[1050,6867,1369],{"class":1296},[1050,6869,6721],{"class":1377},[1050,6871,1297],{"class":1296},[1050,6873,6819],{"class":1377},[1050,6875,1349],{"class":1296},[1050,6877,5806],{"class":1389},[1050,6879,1393],{"class":1296},[1050,6881,6882],{"class":1389}," 365",[1050,6884,6885],{"class":1296},")),\n",[1050,6887,6889],{"class":1052,"line":6888},169,[1050,6890,5175],{"class":1296},[1050,6892,6894],{"class":1052,"line":6893},170,[1050,6895,6004],{"class":1292},[1050,6897,6899],{"class":1052,"line":6898},171,[1050,6900,6901],{"class":1056},"            # Add random tags\n",[1050,6903,6905,6908,6910,6912,6914,6917,6919,6921,6923,6925,6927,6929,6931,6933,6935,6937],{"class":1052,"line":6904},172,[1050,6906,6907],{"class":1292},"            post_tags ",[1050,6909,1369],{"class":1296},[1050,6911,6397],{"class":1292},[1050,6913,1297],{"class":1296},[1050,6915,6916],{"class":1377},"sample",[1050,6918,1349],{"class":1296},[1050,6920,4620],{"class":1377},[1050,6922,1393],{"class":1296},[1050,6924,6397],{"class":1377},[1050,6926,1297],{"class":1296},[1050,6928,6819],{"class":1377},[1050,6930,1349],{"class":1296},[1050,6932,5806],{"class":1389},[1050,6934,1393],{"class":1296},[1050,6936,3016],{"class":1389},[1050,6938,6939],{"class":1296},"))\n",[1050,6941,6943,6946,6948,6950,6952,6955,6957,6960],{"class":1052,"line":6942},173,[1050,6944,6945],{"class":1292},"            post",[1050,6947,1297],{"class":1296},[1050,6949,4620],{"class":1548},[1050,6951,1297],{"class":1296},[1050,6953,6954],{"class":1377},"set",[1050,6956,1349],{"class":1296},[1050,6958,6959],{"class":1377},"post_tags",[1050,6961,1405],{"class":1296},[1050,6963,6965],{"class":1052,"line":6964},174,[1050,6966,6004],{"class":1292},[1050,6968,6970,6973,6975,6977,6979,6982],{"class":1052,"line":6969},175,[1050,6971,6972],{"class":1292},"            posts",[1050,6974,1297],{"class":1296},[1050,6976,5186],{"class":1377},[1050,6978,1349],{"class":1296},[1050,6980,6981],{"class":1377},"post",[1050,6983,1405],{"class":1296},[1050,6985,6987],{"class":1052,"line":6986},176,[1050,6988,4503],{"class":1292},[1050,6990,6992,6994],{"class":1052,"line":6991},177,[1050,6993,1539],{"class":1288},[1050,6995,6996],{"class":1292}," posts\n",[1050,6998,7000],{"class":1052,"line":6999},178,[1050,7001,1517],{"class":1292},[1050,7003,7005,7007,7010,7012,7014,7016,7019],{"class":1052,"line":7004},179,[1050,7006,1522],{"class":1341},[1050,7008,7009],{"class":4166}," generate_sample_content",[1050,7011,1349],{"class":1296},[1050,7013,1532],{"class":1531},[1050,7015,1393],{"class":1296},[1050,7017,7018],{"class":4176}," topic",[1050,7020,1361],{"class":1296},[1050,7022,7024,7026,7029],{"class":1052,"line":7023},180,[1050,7025,4863],{"class":1088},[1050,7027,7028],{"class":1095},"Generate sample content for posts",[1050,7030,1089],{"class":1088},[1050,7032,7034],{"class":1052,"line":7033},181,[1050,7035,4503],{"class":1292},[1050,7037,7039,7042,7044],{"class":1052,"line":7038},182,[1050,7040,7041],{"class":1292},"        content_templates ",[1050,7043,1369],{"class":1296},[1050,7045,1730],{"class":1296},[1050,7047,7049,7052],{"class":1052,"line":7048},183,[1050,7050,7051],{"class":1341},"            f",[1050,7053,1089],{"class":1667},[1050,7055,7057,7060,7062,7064],{"class":1052,"line":7056},184,[1050,7058,7059],{"class":4548},"            {",[1050,7061,6451],{"class":1292},[1050,7063,4563],{"class":4548},[1050,7065,7066],{"class":1667}," is a powerful technology that has revolutionized the way we build applications.\n",[1050,7068,7070],{"class":1052,"line":7069},185,[1050,7071,7072],{"class":1667},"            In this comprehensive guide, we'll explore the key concepts and best practices.\n",[1050,7074,7076],{"class":1052,"line":7075},186,[1050,7077,6004],{"class":1667},[1050,7079,7081],{"class":1052,"line":7080},187,[1050,7082,7083],{"class":1667},"            ## Getting Started\n",[1050,7085,7087],{"class":1052,"line":7086},188,[1050,7088,6004],{"class":1667},[1050,7090,7092,7095,7097,7099,7101],{"class":1052,"line":7091},189,[1050,7093,7094],{"class":1667},"            To begin working with ",[1050,7096,4549],{"class":4548},[1050,7098,6451],{"class":1292},[1050,7100,4563],{"class":4548},[1050,7102,7103],{"class":1667},", you'll need to understand the fundamental concepts.\n",[1050,7105,7107],{"class":1052,"line":7106},190,[1050,7108,7109],{"class":1667},"            This includes understanding the architecture, core principles, and common patterns.\n",[1050,7111,7113],{"class":1052,"line":7112},191,[1050,7114,6004],{"class":1667},[1050,7116,7118],{"class":1052,"line":7117},192,[1050,7119,7120],{"class":1667},"            ## Key Features\n",[1050,7122,7124],{"class":1052,"line":7123},193,[1050,7125,6004],{"class":1667},[1050,7127,7129,7132,7134,7136,7138],{"class":1052,"line":7128},194,[1050,7130,7131],{"class":1667},"            Some of the most important features of ",[1050,7133,4549],{"class":4548},[1050,7135,6451],{"class":1292},[1050,7137,4563],{"class":4548},[1050,7139,7140],{"class":1667}," include:\n",[1050,7142,7144],{"class":1052,"line":7143},195,[1050,7145,6004],{"class":1667},[1050,7147,7149],{"class":1052,"line":7148},196,[1050,7150,7151],{"class":1667},"            - Scalability and performance\n",[1050,7153,7155],{"class":1052,"line":7154},197,[1050,7156,7157],{"class":1667},"            - Developer-friendly APIs\n",[1050,7159,7161],{"class":1052,"line":7160},198,[1050,7162,7163],{"class":1667},"            - Strong community support\n",[1050,7165,7167],{"class":1052,"line":7166},199,[1050,7168,7169],{"class":1667},"            - Extensive documentation\n",[1050,7171,7173],{"class":1052,"line":7172},200,[1050,7174,6004],{"class":1667},[1050,7176,7178],{"class":1052,"line":7177},201,[1050,7179,7180],{"class":1667},"            ## Best Practices\n",[1050,7182,7184],{"class":1052,"line":7183},202,[1050,7185,6004],{"class":1667},[1050,7187,7189,7192,7194,7196,7198],{"class":1052,"line":7188},203,[1050,7190,7191],{"class":1667},"            When working with ",[1050,7193,4549],{"class":4548},[1050,7195,6451],{"class":1292},[1050,7197,4563],{"class":4548},[1050,7199,7200],{"class":1667},", it's important to follow established best practices\n",[1050,7202,7204],{"class":1052,"line":7203},204,[1050,7205,7206],{"class":1667},"            to ensure your applications are maintainable and performant.\n",[1050,7208,7210],{"class":1052,"line":7209},205,[1050,7211,6004],{"class":1667},[1050,7213,7215],{"class":1052,"line":7214},206,[1050,7216,7217],{"class":1667},"            ## Conclusion\n",[1050,7219,7221],{"class":1052,"line":7220},207,[1050,7222,6004],{"class":1667},[1050,7224,7226,7228,7230,7232],{"class":1052,"line":7225},208,[1050,7227,7059],{"class":4548},[1050,7229,6451],{"class":1292},[1050,7231,4563],{"class":4548},[1050,7233,7234],{"class":1667}," continues to evolve and improve, making it an excellent choice for\n",[1050,7236,7238],{"class":1052,"line":7237},209,[1050,7239,7240],{"class":1667},"            modern application development.\n",[1050,7242,7244,7247],{"class":1052,"line":7243},210,[1050,7245,7246],{"class":1667},"            \"\"\"",[1050,7248,2206],{"class":1296},[1050,7250,7252],{"class":1052,"line":7251},211,[1050,7253,6004],{"class":1292},[1050,7255,7257,7259],{"class":1052,"line":7256},212,[1050,7258,7051],{"class":1341},[1050,7260,1089],{"class":1667},[1050,7262,7264,7267,7269,7271,7273],{"class":1052,"line":7263},213,[1050,7265,7266],{"class":1667},"            Learn how to effectively use ",[1050,7268,4549],{"class":4548},[1050,7270,6451],{"class":1292},[1050,7272,4563],{"class":4548},[1050,7274,7275],{"class":1667}," in your next project. This tutorial\n",[1050,7277,7279],{"class":1052,"line":7278},214,[1050,7280,7281],{"class":1667},"            covers everything from basic setup to advanced techniques.\n",[1050,7283,7285],{"class":1052,"line":7284},215,[1050,7286,6004],{"class":1667},[1050,7288,7290],{"class":1052,"line":7289},216,[1050,7291,7292],{"class":1667},"            ## Prerequisites\n",[1050,7294,7296],{"class":1052,"line":7295},217,[1050,7297,6004],{"class":1667},[1050,7299,7301,7304,7306,7308,7310],{"class":1052,"line":7300},218,[1050,7302,7303],{"class":1667},"            Before diving into ",[1050,7305,4549],{"class":4548},[1050,7307,6451],{"class":1292},[1050,7309,4563],{"class":4548},[1050,7311,7312],{"class":1667},", make sure you have a solid understanding of\n",[1050,7314,7316],{"class":1052,"line":7315},219,[1050,7317,7318],{"class":1667},"            the underlying technologies and concepts.\n",[1050,7320,7322],{"class":1052,"line":7321},220,[1050,7323,6004],{"class":1667},[1050,7325,7327],{"class":1052,"line":7326},221,[1050,7328,7329],{"class":1667},"            ## Implementation\n",[1050,7331,7333],{"class":1052,"line":7332},222,[1050,7334,6004],{"class":1667},[1050,7336,7338],{"class":1052,"line":7337},223,[1050,7339,7340],{"class":1667},"            Let's walk through a practical implementation that demonstrates the\n",[1050,7342,7344,7347,7349,7351,7353],{"class":1052,"line":7343},224,[1050,7345,7346],{"class":1667},"            power and flexibility of ",[1050,7348,4549],{"class":4548},[1050,7350,6451],{"class":1292},[1050,7352,4563],{"class":4548},[1050,7354,7355],{"class":1667},".\n",[1050,7357,7359],{"class":1052,"line":7358},225,[1050,7360,6004],{"class":1667},[1050,7362,7364],{"class":1052,"line":7363},226,[1050,7365,7366],{"class":1667},"            ## Common Pitfalls\n",[1050,7368,7370],{"class":1052,"line":7369},227,[1050,7371,6004],{"class":1667},[1050,7373,7375,7378,7380,7382,7384],{"class":1052,"line":7374},228,[1050,7376,7377],{"class":1667},"            Avoid these common mistakes when working with ",[1050,7379,4549],{"class":4548},[1050,7381,6451],{"class":1292},[1050,7383,4563],{"class":4548},[1050,7385,3591],{"class":1667},[1050,7387,7389],{"class":1052,"line":7388},229,[1050,7390,6004],{"class":1667},[1050,7392,7394],{"class":1052,"line":7393},230,[1050,7395,7396],{"class":1667},"            1. Not following naming conventions\n",[1050,7398,7400],{"class":1052,"line":7399},231,[1050,7401,7402],{"class":1667},"            2. Ignoring performance implications\n",[1050,7404,7406],{"class":1052,"line":7405},232,[1050,7407,7408],{"class":1667},"            3. Inadequate error handling\n",[1050,7410,7412],{"class":1052,"line":7411},233,[1050,7413,7414],{"class":1667},"            4. Poor documentation\n",[1050,7416,7418],{"class":1052,"line":7417},234,[1050,7419,6004],{"class":1667},[1050,7421,7423],{"class":1052,"line":7422},235,[1050,7424,7425],{"class":1667},"            ## Next Steps\n",[1050,7427,7429],{"class":1052,"line":7428},236,[1050,7430,6004],{"class":1667},[1050,7432,7434,7437,7439,7441,7443],{"class":1052,"line":7433},237,[1050,7435,7436],{"class":1667},"            Now that you understand the basics of ",[1050,7438,4549],{"class":4548},[1050,7440,6451],{"class":1292},[1050,7442,4563],{"class":4548},[1050,7444,7445],{"class":1667},", you can explore more\n",[1050,7447,7449],{"class":1052,"line":7448},238,[1050,7450,7451],{"class":1667},"            advanced topics and integrate it into your workflow.\n",[1050,7453,7455],{"class":1052,"line":7454},239,[1050,7456,7457],{"class":1667},"            \"\"\"\n",[1050,7459,7461],{"class":1052,"line":7460},240,[1050,7462,5042],{"class":1296},[1050,7464,7466],{"class":1052,"line":7465},241,[1050,7467,4503],{"class":1292},[1050,7469,7471,7473,7475,7477,7479,7481,7484],{"class":1052,"line":7470},242,[1050,7472,1539],{"class":1288},[1050,7474,6397],{"class":1292},[1050,7476,1297],{"class":1296},[1050,7478,6402],{"class":1377},[1050,7480,1349],{"class":1296},[1050,7482,7483],{"class":1377},"content_templates",[1050,7485,1405],{"class":1296},[1050,7487,7489],{"class":1052,"line":7488},243,[1050,7490,1076],{"emptyLinePlaceholder":1075},[1050,7492,7494],{"class":1052,"line":7493},244,[1050,7495,7496],{"class":1056},"# Fixture generation utility\n",[1050,7498,7500,7502,7505],{"class":1052,"line":7499},245,[1050,7501,1342],{"class":1341},[1050,7503,7504],{"class":1345}," FixtureGenerator",[1050,7506,3591],{"class":1296},[1050,7508,7510,7512,7515],{"class":1052,"line":7509},246,[1050,7511,4131],{"class":1088},[1050,7513,7514],{"class":1095},"Generate fixtures from existing data",[1050,7516,1089],{"class":1088},[1050,7518,7520],{"class":1052,"line":7519},247,[1050,7521,1517],{"class":1292},[1050,7523,7525,7528],{"class":1052,"line":7524},248,[1050,7526,7527],{"class":1296},"    @",[1050,7529,7530],{"class":2244},"staticmethod\n",[1050,7532,7534,7536,7539,7541,7544,7546,7549,7551,7554,7556,7559,7561,7563],{"class":1052,"line":7533},249,[1050,7535,1522],{"class":1341},[1050,7537,7538],{"class":4166}," export_model_data",[1050,7540,1349],{"class":1296},[1050,7542,7543],{"class":4176},"model_class",[1050,7545,1393],{"class":1296},[1050,7547,7548],{"class":4176}," filename",[1050,7550,1369],{"class":3998},[1050,7552,7553],{"class":1401},"None",[1050,7555,1393],{"class":1296},[1050,7557,7558],{"class":4176}," queryset",[1050,7560,1369],{"class":3998},[1050,7562,7553],{"class":1401},[1050,7564,1361],{"class":1296},[1050,7566,7568,7570,7573],{"class":1052,"line":7567},250,[1050,7569,4863],{"class":1088},[1050,7571,7572],{"class":1095},"Export model data to fixture file",[1050,7574,1089],{"class":1088},[1050,7576,7578],{"class":1052,"line":7577},251,[1050,7579,4503],{"class":1292},[1050,7581,7583,7586,7588,7590,7593,7595],{"class":1052,"line":7582},252,[1050,7584,7585],{"class":1288},"        from",[1050,7587,1293],{"class":1292},[1050,7589,1297],{"class":1296},[1050,7591,7592],{"class":1292},"core ",[1050,7594,1303],{"class":1288},[1050,7596,7597],{"class":1292}," serializers\n",[1050,7599,7601,7604],{"class":1052,"line":7600},253,[1050,7602,7603],{"class":1288},"        import",[1050,7605,7606],{"class":1292}," os\n",[1050,7608,7610],{"class":1052,"line":7609},254,[1050,7611,4503],{"class":1292},[1050,7613,7615,7617,7620,7623,7626],{"class":1052,"line":7614},255,[1050,7616,4365],{"class":1288},[1050,7618,7619],{"class":1292}," queryset ",[1050,7621,7622],{"class":3998},"is",[1050,7624,7625],{"class":1401}," None",[1050,7627,3591],{"class":1296},[1050,7629,7631,7634,7636,7639,7641,7643,7645,7647],{"class":1052,"line":7630},256,[1050,7632,7633],{"class":1292},"            queryset ",[1050,7635,1369],{"class":1296},[1050,7637,7638],{"class":1292}," model_class",[1050,7640,1297],{"class":1296},[1050,7642,4417],{"class":1548},[1050,7644,1297],{"class":1296},[1050,7646,4422],{"class":1377},[1050,7648,1878],{"class":1296},[1050,7650,7652],{"class":1052,"line":7651},257,[1050,7653,4503],{"class":1292},[1050,7655,7657,7659,7662,7664,7666],{"class":1052,"line":7656},258,[1050,7658,4365],{"class":1288},[1050,7660,7661],{"class":1292}," filename ",[1050,7663,7622],{"class":3998},[1050,7665,7625],{"class":1401},[1050,7667,3591],{"class":1296},[1050,7669,7671,7674,7676,7678,7680,7682,7684,7686,7689,7691,7694,7696,7699,7701,7703,7705,7707,7709,7712,7714],{"class":1052,"line":7670},259,[1050,7672,7673],{"class":1292},"            filename ",[1050,7675,1369],{"class":1296},[1050,7677,5792],{"class":1341},[1050,7679,2192],{"class":1667},[1050,7681,4549],{"class":4548},[1050,7683,7543],{"class":1292},[1050,7685,1297],{"class":1296},[1050,7687,7688],{"class":1548},"_meta",[1050,7690,1297],{"class":1296},[1050,7692,7693],{"class":1548},"app_label",[1050,7695,4563],{"class":4548},[1050,7697,7698],{"class":1667},"_",[1050,7700,4549],{"class":4548},[1050,7702,7543],{"class":1292},[1050,7704,1297],{"class":1296},[1050,7706,7688],{"class":1548},[1050,7708,1297],{"class":1296},[1050,7710,7711],{"class":1548},"model_name",[1050,7713,4563],{"class":4548},[1050,7715,7716],{"class":1667},".json\"\n",[1050,7718,7720],{"class":1052,"line":7719},260,[1050,7721,4503],{"class":1292},[1050,7723,7725],{"class":1052,"line":7724},261,[1050,7726,7727],{"class":1056},"        # Create fixtures directory if it doesn't exist\n",[1050,7729,7731,7734,7736,7739,7741,7744,7746,7749,7751,7753,7755,7757,7759,7762,7764,7766,7768,7770,7772,7774],{"class":1052,"line":7730},262,[1050,7732,7733],{"class":1292},"        fixtures_dir ",[1050,7735,1369],{"class":1296},[1050,7737,7738],{"class":1292}," os",[1050,7740,1297],{"class":1296},[1050,7742,7743],{"class":1548},"path",[1050,7745,1297],{"class":1296},[1050,7747,7748],{"class":1377},"join",[1050,7750,1349],{"class":1296},[1050,7752,7543],{"class":1377},[1050,7754,1297],{"class":1296},[1050,7756,7688],{"class":1548},[1050,7758,1297],{"class":1296},[1050,7760,7761],{"class":1548},"app_config",[1050,7763,1297],{"class":1296},[1050,7765,7743],{"class":1548},[1050,7767,1393],{"class":1296},[1050,7769,1747],{"class":1663},[1050,7771,1024],{"class":1667},[1050,7773,1664],{"class":1663},[1050,7775,1405],{"class":1296},[1050,7777,7779,7782,7784,7787,7789,7792,7794,7797,7799,7801],{"class":1052,"line":7778},263,[1050,7780,7781],{"class":1292},"        os",[1050,7783,1297],{"class":1296},[1050,7785,7786],{"class":1377},"makedirs",[1050,7788,1349],{"class":1296},[1050,7790,7791],{"class":1377},"fixtures_dir",[1050,7793,1393],{"class":1296},[1050,7795,7796],{"class":1383}," exist_ok",[1050,7798,1369],{"class":1296},[1050,7800,1402],{"class":1401},[1050,7802,1405],{"class":1296},[1050,7804,7806],{"class":1052,"line":7805},264,[1050,7807,4503],{"class":1292},[1050,7809,7811,7814,7816,7818,7820,7822,7824,7826,7828,7830,7832,7834],{"class":1052,"line":7810},265,[1050,7812,7813],{"class":1292},"        filepath ",[1050,7815,1369],{"class":1296},[1050,7817,7738],{"class":1292},[1050,7819,1297],{"class":1296},[1050,7821,7743],{"class":1548},[1050,7823,1297],{"class":1296},[1050,7825,7748],{"class":1377},[1050,7827,1349],{"class":1296},[1050,7829,7791],{"class":1377},[1050,7831,1393],{"class":1296},[1050,7833,7548],{"class":1377},[1050,7835,1405],{"class":1296},[1050,7837,7839],{"class":1052,"line":7838},266,[1050,7840,4503],{"class":1292},[1050,7842,7844],{"class":1052,"line":7843},267,[1050,7845,7846],{"class":1056},"        # Serialize data\n",[1050,7848,7850,7853,7856,7858,7861,7863,7865,7868,7870,7872,7875,7877],{"class":1052,"line":7849},268,[1050,7851,7852],{"class":1288},"        with",[1050,7854,7855],{"class":1525}," open",[1050,7857,1349],{"class":1296},[1050,7859,7860],{"class":1377},"filepath",[1050,7862,1393],{"class":1296},[1050,7864,1747],{"class":1663},[1050,7866,7867],{"class":1667},"w",[1050,7869,1664],{"class":1663},[1050,7871,4560],{"class":1296},[1050,7873,7874],{"class":1288}," as",[1050,7876,5792],{"class":1292},[1050,7878,3591],{"class":1296},[1050,7880,7882,7885,7887,7890,7892,7894,7896,7898,7900,7902,7904,7907,7909,7912,7914,7917,7919,7921],{"class":1052,"line":7881},269,[1050,7883,7884],{"class":1292},"            serializers",[1050,7886,1297],{"class":1296},[1050,7888,7889],{"class":1377},"serialize",[1050,7891,1349],{"class":1296},[1050,7893,1664],{"class":1663},[1050,7895,2164],{"class":1667},[1050,7897,1664],{"class":1663},[1050,7899,1393],{"class":1296},[1050,7901,7558],{"class":1377},[1050,7903,1393],{"class":1296},[1050,7905,7906],{"class":1383}," indent",[1050,7908,1369],{"class":1296},[1050,7910,7911],{"class":1389},"2",[1050,7913,1393],{"class":1296},[1050,7915,7916],{"class":1383}," stream",[1050,7918,1369],{"class":1296},[1050,7920,4542],{"class":1377},[1050,7922,1405],{"class":1296},[1050,7924,7926],{"class":1052,"line":7925},270,[1050,7927,4503],{"class":1292},[1050,7929,7931,7933],{"class":1052,"line":7930},271,[1050,7932,1539],{"class":1288},[1050,7934,7935],{"class":1292}," filepath\n",[1050,7937,7939],{"class":1052,"line":7938},272,[1050,7940,1517],{"class":1292},[1050,7942,7944,7946],{"class":1052,"line":7943},273,[1050,7945,7527],{"class":1296},[1050,7947,7530],{"class":2244},[1050,7949,7951,7953,7956],{"class":1052,"line":7950},274,[1050,7952,1522],{"class":1341},[1050,7954,7955],{"class":4166}," export_sample_data",[1050,7957,6580],{"class":1296},[1050,7959,7961,7963,7966],{"class":1052,"line":7960},275,[1050,7962,4863],{"class":1088},[1050,7964,7965],{"class":1095},"Export sample data for all models",[1050,7967,1089],{"class":1088},[1050,7969,7971],{"class":1052,"line":7970},276,[1050,7972,4503],{"class":1292},[1050,7974,7976,7978,7980,7982,7984,7986,7988,7990,7992,7994],{"class":1052,"line":7975},277,[1050,7977,7585],{"class":1288},[1050,7979,4068],{"class":1292},[1050,7981,1297],{"class":1296},[1050,7983,1327],{"class":1292},[1050,7985,1303],{"class":1288},[1050,7987,1346],{"class":1292},[1050,7989,1393],{"class":1296},[1050,7991,1560],{"class":1292},[1050,7993,1393],{"class":1296},[1050,7995,4085],{"class":1292},[1050,7997,7999],{"class":1052,"line":7998},278,[1050,8000,4503],{"class":1292},[1050,8002,8004],{"class":1052,"line":8003},279,[1050,8005,8006],{"class":1056},"        # Export categories\n",[1050,8008,8010,8013,8015,8018,8020,8022,8024,8026,8029,8031],{"class":1052,"line":8009},280,[1050,8011,8012],{"class":1292},"        FixtureGenerator",[1050,8014,1297],{"class":1296},[1050,8016,8017],{"class":1377},"export_model_data",[1050,8019,1349],{"class":1296},[1050,8021,1932],{"class":1377},[1050,8023,1393],{"class":1296},[1050,8025,1747],{"class":1663},[1050,8027,8028],{"class":1667},"sample_categories.json",[1050,8030,1664],{"class":1663},[1050,8032,1405],{"class":1296},[1050,8034,8036],{"class":1052,"line":8035},281,[1050,8037,4503],{"class":1292},[1050,8039,8041],{"class":1052,"line":8040},282,[1050,8042,8043],{"class":1056},"        # Export tags\n",[1050,8045,8047,8049,8051,8053,8055,8057,8059,8061,8064,8066],{"class":1052,"line":8046},283,[1050,8048,8012],{"class":1292},[1050,8050,1297],{"class":1296},[1050,8052,8017],{"class":1377},[1050,8054,1349],{"class":1296},[1050,8056,1965],{"class":1377},[1050,8058,1393],{"class":1296},[1050,8060,1747],{"class":1663},[1050,8062,8063],{"class":1667},"sample_tags.json",[1050,8065,1664],{"class":1663},[1050,8067,1405],{"class":1296},[1050,8069,8071],{"class":1052,"line":8070},284,[1050,8072,4503],{"class":1292},[1050,8074,8076],{"class":1052,"line":8075},285,[1050,8077,8078],{"class":1056},"        # Export recent posts only\n",[1050,8080,8082,8085,8087,8089,8091,8093,8095,8097],{"class":1052,"line":8081},286,[1050,8083,8084],{"class":1292},"        recent_posts ",[1050,8086,1369],{"class":1296},[1050,8088,1709],{"class":1292},[1050,8090,1297],{"class":1296},[1050,8092,4417],{"class":1548},[1050,8094,1297],{"class":1296},[1050,8096,4444],{"class":1377},[1050,8098,4811],{"class":1296},[1050,8100,8102,8105,8107,8109,8111,8113,8115,8117,8119,8121,8123,8125,8127,8129,8132],{"class":1052,"line":8101},287,[1050,8103,8104],{"class":1383},"            created_at__gte",[1050,8106,1369],{"class":1296},[1050,8108,6841],{"class":1377},[1050,8110,1297],{"class":1296},[1050,8112,6846],{"class":1377},[1050,8114,6849],{"class":1296},[1050,8116,6852],{"class":3998},[1050,8118,6855],{"class":1377},[1050,8120,1297],{"class":1296},[1050,8122,6860],{"class":1377},[1050,8124,1349],{"class":1296},[1050,8126,6865],{"class":1383},[1050,8128,1369],{"class":1296},[1050,8130,8131],{"class":1389},"30",[1050,8133,1405],{"class":1296},[1050,8135,8137],{"class":1052,"line":8136},288,[1050,8138,4841],{"class":1296},[1050,8140,8142,8144,8146,8148,8150,8153,8155,8157,8160,8162,8164,8167],{"class":1052,"line":8141},289,[1050,8143,8012],{"class":1292},[1050,8145,1297],{"class":1296},[1050,8147,8017],{"class":1377},[1050,8149,1349],{"class":1296},[1050,8151,8152],{"class":1377},"Post",[1050,8154,1393],{"class":1296},[1050,8156,1747],{"class":1663},[1050,8158,8159],{"class":1667},"sample_posts.json",[1050,8161,1664],{"class":1663},[1050,8163,1393],{"class":1296},[1050,8165,8166],{"class":1377}," recent_posts",[1050,8168,1405],{"class":1296},[1050,8170,8172],{"class":1052,"line":8171},290,[1050,8173,4503],{"class":1292},[1050,8175,8177],{"class":1052,"line":8176},291,[1050,8178,8179],{"class":1056},"        # Export users (excluding sensitive data)\n",[1050,8181,8183,8185,8187,8189,8191,8193,8195,8197,8199,8201,8203,8205],{"class":1052,"line":8182},292,[1050,8184,4643],{"class":1292},[1050,8186,1369],{"class":1296},[1050,8188,5825],{"class":1292},[1050,8190,1297],{"class":1296},[1050,8192,4417],{"class":1548},[1050,8194,1297],{"class":1296},[1050,8196,4444],{"class":1377},[1050,8198,1349],{"class":1296},[1050,8200,2305],{"class":1383},[1050,8202,1369],{"class":1296},[1050,8204,1402],{"class":1401},[1050,8206,1405],{"class":1296},[1050,8208,8210,8212,8214,8216,8218,8220,8222,8224,8227,8229,8231,8233],{"class":1052,"line":8209},293,[1050,8211,8012],{"class":1292},[1050,8213,1297],{"class":1296},[1050,8215,8017],{"class":1377},[1050,8217,1349],{"class":1296},[1050,8219,1897],{"class":1377},[1050,8221,1393],{"class":1296},[1050,8223,1747],{"class":1663},[1050,8225,8226],{"class":1667},"sample_users.json",[1050,8228,1664],{"class":1663},[1050,8230,1393],{"class":1296},[1050,8232,4745],{"class":1377},[1050,8234,1405],{"class":1296},[1050,8236,8238],{"class":1052,"line":8237},294,[1050,8239,1517],{"class":1292},[1050,8241,8243,8245],{"class":1052,"line":8242},295,[1050,8244,7527],{"class":1296},[1050,8246,7530],{"class":2244},[1050,8248,8250,8252,8255],{"class":1052,"line":8249},296,[1050,8251,1522],{"class":1341},[1050,8253,8254],{"class":4166}," create_test_fixtures",[1050,8256,6580],{"class":1296},[1050,8258,8260,8262,8265],{"class":1052,"line":8259},297,[1050,8261,4863],{"class":1088},[1050,8263,8264],{"class":1095},"Create fixtures specifically for testing",[1050,8266,1089],{"class":1088},[1050,8268,8270],{"class":1052,"line":8269},298,[1050,8271,4503],{"class":1292},[1050,8273,8275],{"class":1052,"line":8274},299,[1050,8276,8277],{"class":1056},"        # Create minimal test data\n",[1050,8279,8281,8284,8286,8288,8290,8292,8294,8296],{"class":1052,"line":8280},300,[1050,8282,8283],{"class":1292},"        test_category ",[1050,8285,1369],{"class":1296},[1050,8287,1346],{"class":1292},[1050,8289,1297],{"class":1296},[1050,8291,4417],{"class":1548},[1050,8293,1297],{"class":1296},[1050,8295,6671],{"class":1377},[1050,8297,4811],{"class":1296},[1050,8299,8301,8304,8306,8308,8311,8313],{"class":1052,"line":8300},301,[1050,8302,8303],{"class":1383},"            name",[1050,8305,1369],{"class":1296},[1050,8307,1664],{"class":1663},[1050,8309,8310],{"class":1667},"Test Category",[1050,8312,1664],{"class":1663},[1050,8314,2206],{"class":1296},[1050,8316,8318,8321,8323,8325,8328,8330],{"class":1052,"line":8317},302,[1050,8319,8320],{"class":1383},"            slug",[1050,8322,1369],{"class":1296},[1050,8324,1664],{"class":1663},[1050,8326,8327],{"class":1667},"test-category",[1050,8329,1664],{"class":1663},[1050,8331,2206],{"class":1296},[1050,8333,8335,8338,8340,8342,8345],{"class":1052,"line":8334},303,[1050,8336,8337],{"class":1383},"            description",[1050,8339,1369],{"class":1296},[1050,8341,1664],{"class":1663},[1050,8343,8344],{"class":1667},"Category for testing",[1050,8346,4155],{"class":1663},[1050,8348,8350],{"class":1052,"line":8349},304,[1050,8351,4841],{"class":1296},[1050,8353,8355],{"class":1052,"line":8354},305,[1050,8356,4503],{"class":1292},[1050,8358,8360,8363,8365,8367,8369,8371,8373,8376],{"class":1052,"line":8359},306,[1050,8361,8362],{"class":1292},"        test_user ",[1050,8364,1369],{"class":1296},[1050,8366,5825],{"class":1292},[1050,8368,1297],{"class":1296},[1050,8370,4417],{"class":1548},[1050,8372,1297],{"class":1296},[1050,8374,8375],{"class":1377},"create_user",[1050,8377,4811],{"class":1296},[1050,8379,8381,8384,8386,8388,8391,8393],{"class":1052,"line":8380},307,[1050,8382,8383],{"class":1383},"            username",[1050,8385,1369],{"class":1296},[1050,8387,1664],{"class":1663},[1050,8389,8390],{"class":1667},"testuser",[1050,8392,1664],{"class":1663},[1050,8394,2206],{"class":1296},[1050,8396,8398,8401,8403,8405,8408,8410],{"class":1052,"line":8397},308,[1050,8399,8400],{"class":1383},"            email",[1050,8402,1369],{"class":1296},[1050,8404,1664],{"class":1663},[1050,8406,8407],{"class":1667},"test@example.com",[1050,8409,1664],{"class":1663},[1050,8411,2206],{"class":1296},[1050,8413,8415,8418,8420,8422,8425],{"class":1052,"line":8414},309,[1050,8416,8417],{"class":1383},"            password",[1050,8419,1369],{"class":1296},[1050,8421,1664],{"class":1663},[1050,8423,8424],{"class":1667},"testpass123",[1050,8426,4155],{"class":1663},[1050,8428,8430],{"class":1052,"line":8429},310,[1050,8431,4841],{"class":1296},[1050,8433,8435],{"class":1052,"line":8434},311,[1050,8436,4503],{"class":1292},[1050,8438,8440,8443,8445,8447,8449,8451,8453,8455],{"class":1052,"line":8439},312,[1050,8441,8442],{"class":1292},"        test_post ",[1050,8444,1369],{"class":1296},[1050,8446,1709],{"class":1292},[1050,8448,1297],{"class":1296},[1050,8450,4417],{"class":1548},[1050,8452,1297],{"class":1296},[1050,8454,6671],{"class":1377},[1050,8456,4811],{"class":1296},[1050,8458,8460,8463,8465,8467,8470,8472],{"class":1052,"line":8459},313,[1050,8461,8462],{"class":1383},"            title",[1050,8464,1369],{"class":1296},[1050,8466,1664],{"class":1663},[1050,8468,8469],{"class":1667},"Test Post",[1050,8471,1664],{"class":1663},[1050,8473,2206],{"class":1296},[1050,8475,8477,8479,8481,8483,8486,8488],{"class":1052,"line":8476},314,[1050,8478,8320],{"class":1383},[1050,8480,1369],{"class":1296},[1050,8482,1664],{"class":1663},[1050,8484,8485],{"class":1667},"test-post",[1050,8487,1664],{"class":1663},[1050,8489,2206],{"class":1296},[1050,8491,8493,8496,8498,8500,8503,8505],{"class":1052,"line":8492},315,[1050,8494,8495],{"class":1383},"            content",[1050,8497,1369],{"class":1296},[1050,8499,1664],{"class":1663},[1050,8501,8502],{"class":1667},"This is a test post content.",[1050,8504,1664],{"class":1663},[1050,8506,2206],{"class":1296},[1050,8508,8510,8513,8515,8518],{"class":1052,"line":8509},316,[1050,8511,8512],{"class":1383},"            author",[1050,8514,1369],{"class":1296},[1050,8516,8517],{"class":1377},"test_user",[1050,8519,2206],{"class":1296},[1050,8521,8523,8525,8527,8530],{"class":1052,"line":8522},317,[1050,8524,5090],{"class":1383},[1050,8526,1369],{"class":1296},[1050,8528,8529],{"class":1377},"test_category",[1050,8531,2206],{"class":1296},[1050,8533,8535,8538,8540,8542,8544],{"class":1052,"line":8534},318,[1050,8536,8537],{"class":1383},"            status",[1050,8539,1369],{"class":1296},[1050,8541,1664],{"class":1663},[1050,8543,1764],{"class":1667},[1050,8545,4155],{"class":1663},[1050,8547,8549],{"class":1052,"line":8548},319,[1050,8550,4841],{"class":1296},[1050,8552,8554],{"class":1052,"line":8553},320,[1050,8555,4503],{"class":1292},[1050,8557,8559],{"class":1052,"line":8558},321,[1050,8560,8561],{"class":1056},"        # Export test fixtures\n",[1050,8563,8565,8567,8569,8571],{"class":1052,"line":8564},322,[1050,8566,8012],{"class":1292},[1050,8568,1297],{"class":1296},[1050,8570,8017],{"class":1377},[1050,8572,4811],{"class":1296},[1050,8574,8576,8578,8580],{"class":1052,"line":8575},323,[1050,8577,4465],{"class":1377},[1050,8579,1393],{"class":1296},[1050,8581,8582],{"class":1377}," \n",[1050,8584,8586,8588,8591,8593],{"class":1052,"line":8585},324,[1050,8587,6271],{"class":1663},[1050,8589,8590],{"class":1667},"test_categories.json",[1050,8592,1664],{"class":1663},[1050,8594,2206],{"class":1296},[1050,8596,8598,8600,8602,8604,8606,8608,8610,8612,8614,8616,8618,8620],{"class":1052,"line":8597},325,[1050,8599,4465],{"class":1377},[1050,8601,1297],{"class":1296},[1050,8603,4417],{"class":1548},[1050,8605,1297],{"class":1296},[1050,8607,4444],{"class":1377},[1050,8609,1349],{"class":1296},[1050,8611,2265],{"class":1383},[1050,8613,1369],{"class":1296},[1050,8615,1664],{"class":1663},[1050,8617,8327],{"class":1667},[1050,8619,1664],{"class":1663},[1050,8621,1405],{"class":1296},[1050,8623,8625],{"class":1052,"line":8624},326,[1050,8626,4841],{"class":1296},[1050,8628,8630],{"class":1052,"line":8629},327,[1050,8631,4503],{"class":1292},[1050,8633,8635,8637,8639,8641],{"class":1052,"line":8634},328,[1050,8636,8012],{"class":1292},[1050,8638,1297],{"class":1296},[1050,8640,8017],{"class":1377},[1050,8642,4811],{"class":1296},[1050,8644,8646,8648],{"class":1052,"line":8645},329,[1050,8647,4435],{"class":1377},[1050,8649,2206],{"class":1296},[1050,8651,8653,8655,8658,8660,8662],{"class":1052,"line":8652},330,[1050,8654,6271],{"class":1663},[1050,8656,8657],{"class":1667},"test_users.json",[1050,8659,1664],{"class":1663},[1050,8661,1393],{"class":1296},[1050,8663,8582],{"class":1377},[1050,8665,8667,8669,8671,8673,8675,8677,8679,8681,8683,8685,8687,8689],{"class":1052,"line":8666},331,[1050,8668,4435],{"class":1377},[1050,8670,1297],{"class":1296},[1050,8672,4417],{"class":1548},[1050,8674,1297],{"class":1296},[1050,8676,4444],{"class":1377},[1050,8678,1349],{"class":1296},[1050,8680,3167],{"class":1383},[1050,8682,1369],{"class":1296},[1050,8684,1664],{"class":1663},[1050,8686,8390],{"class":1667},[1050,8688,1664],{"class":1663},[1050,8690,1405],{"class":1296},[1050,8692,8694],{"class":1052,"line":8693},332,[1050,8695,4841],{"class":1296},[1050,8697,8699],{"class":1052,"line":8698},333,[1050,8700,4503],{"class":1292},[1050,8702,8704,8706,8708,8710],{"class":1052,"line":8703},334,[1050,8705,8012],{"class":1292},[1050,8707,1297],{"class":1296},[1050,8709,8017],{"class":1377},[1050,8711,4811],{"class":1296},[1050,8713,8715,8717],{"class":1052,"line":8714},335,[1050,8716,4412],{"class":1377},[1050,8718,2206],{"class":1296},[1050,8720,8722,8724,8727,8729],{"class":1052,"line":8721},336,[1050,8723,6271],{"class":1663},[1050,8725,8726],{"class":1667},"test_posts.json",[1050,8728,1664],{"class":1663},[1050,8730,2206],{"class":1296},[1050,8732,8734,8736,8738,8740,8742,8744,8746,8748,8750,8752,8754,8756],{"class":1052,"line":8733},337,[1050,8735,4412],{"class":1377},[1050,8737,1297],{"class":1296},[1050,8739,4417],{"class":1548},[1050,8741,1297],{"class":1296},[1050,8743,4444],{"class":1377},[1050,8745,1349],{"class":1296},[1050,8747,2265],{"class":1383},[1050,8749,1369],{"class":1296},[1050,8751,1664],{"class":1663},[1050,8753,8485],{"class":1667},[1050,8755,1664],{"class":1663},[1050,8757,1405],{"class":1296},[1050,8759,8761],{"class":1052,"line":8760},338,[1050,8762,4841],{"class":1296},[1030,8764,8766],{"id":8765},"testing-with-fixtures","Testing with Fixtures",[1035,8768,8770],{"id":8769},"fixture-based-testing","Fixture-Based Testing",[1040,8772,8774],{"className":1042,"code":8773,"language":1044,"meta":1045,"style":1045},"# tests.py\nfrom django.test import TestCase\nfrom django.contrib.auth.models import User\nfrom blog.models import Category, Tag, Post\n\nclass BlogModelTests(TestCase):\n    \"\"\"Test blog models using fixtures\"\"\"\n    \n    fixtures = ['test_users.json', 'test_categories.json', 'test_posts.json']\n    \n    def setUp(self):\n        \"\"\"Set up test data\"\"\"\n        self.user = User.objects.get(username='testuser')\n        self.category = Category.objects.get(slug='test-category')\n        self.post = Post.objects.get(slug='test-post')\n    \n    def test_post_creation(self):\n        \"\"\"Test post creation with fixture data\"\"\"\n        self.assertEqual(self.post.title, 'Test Post')\n        self.assertEqual(self.post.author, self.user)\n        self.assertEqual(self.post.category, self.category)\n        self.assertEqual(self.post.status, 'published')\n    \n    def test_category_relationship(self):\n        \"\"\"Test category-post relationship\"\"\"\n        self.assertIn(self.post, self.category.post_set.all())\n    \n    def test_post_str_method(self):\n        \"\"\"Test post string representation\"\"\"\n        self.assertEqual(str(self.post), 'Test Post')\n\nclass BlogViewTests(TestCase):\n    \"\"\"Test blog views using fixtures\"\"\"\n    \n    fixtures = ['sample_users.json', 'sample_categories.json', 'sample_posts.json']\n    \n    def test_post_list_view(self):\n        \"\"\"Test post list view with fixture data\"\"\"\n        response = self.client.get('/posts/')\n        self.assertEqual(response.status_code, 200)\n        \n        # Check that published posts are displayed\n        published_posts = Post.objects.filter(status='published')\n        for post in published_posts:\n            self.assertContains(response, post.title)\n    \n    def test_post_detail_view(self):\n        \"\"\"Test post detail view\"\"\"\n        post = Post.objects.filter(status='published').first()\n        response = self.client.get(f'/posts/{post.slug}/')\n        \n        self.assertEqual(response.status_code, 200)\n        self.assertContains(response, post.title)\n        self.assertContains(response, post.content)\n\n# Custom test case with dynamic fixtures\nclass DynamicFixtureTestCase(TestCase):\n    \"\"\"Test case that creates fixtures dynamically\"\"\"\n    \n    @classmethod\n    def setUpTestData(cls):\n        \"\"\"Create test data once for the entire test class\"\"\"\n        \n        # Create test user\n        cls.test_user = User.objects.create_user(\n            username='dynamicuser',\n            email='dynamic@example.com',\n            password='testpass123'\n        )\n        \n        # Create test category\n        cls.test_category = Category.objects.create(\n            name='Dynamic Category',\n            slug='dynamic-category',\n            description='Dynamically created category'\n        )\n        \n        # Create test posts\n        cls.test_posts = []\n        for i in range(5):\n            post = Post.objects.create(\n                title=f'Dynamic Post {i+1}',\n                slug=f'dynamic-post-{i+1}',\n                content=f'Content for dynamic post {i+1}',\n                author=cls.test_user,\n                category=cls.test_category,\n                status='published' if i % 2 == 0 else 'draft'\n            )\n            cls.test_posts.append(post)\n    \n    def test_published_posts_count(self):\n        \"\"\"Test count of published posts\"\"\"\n        published_count = Post.objects.filter(status='published').count()\n        self.assertEqual(published_count, 3)  # Posts 1, 3, 5\n    \n    def test_draft_posts_count(self):\n        \"\"\"Test count of draft posts\"\"\"\n        draft_count = Post.objects.filter(status='draft').count()\n        self.assertEqual(draft_count, 2)  # Posts 2, 4\n\n# Factory-based fixture creation\nclass PostFactory:\n    \"\"\"Factory for creating test posts\"\"\"\n    \n    @staticmethod\n    def create_post(**kwargs):\n        \"\"\"Create a post with default values\"\"\"\n        \n        defaults = {\n            'title': 'Test Post',\n            'slug': 'test-post',\n            'content': 'Test content',\n            'status': 'published',\n        }\n        defaults.update(kwargs)\n        \n        # Ensure required relationships exist\n        if 'author' not in defaults:\n            defaults['author'] = User.objects.create_user(\n                username='testauthor',\n                email='author@example.com'\n            )\n        \n        if 'category' not in defaults:\n            defaults['category'] = Category.objects.create(\n                name='Test Category',\n                slug='test-category'\n            )\n        \n        return Post.objects.create(**defaults)\n    \n    @staticmethod\n    def create_posts(count=5, **kwargs):\n        \"\"\"Create multiple posts\"\"\"\n        \n        posts = []\n        for i in range(count):\n            post_kwargs = kwargs.copy()\n            post_kwargs.update({\n                'title': f'Test Post {i+1}',\n                'slug': f'test-post-{i+1}',\n            })\n            posts.append(PostFactory.create_post(**post_kwargs))\n        \n        return posts\n\nclass FactoryBasedTests(TestCase):\n    \"\"\"Tests using factory-based fixture creation\"\"\"\n    \n    def test_single_post_creation(self):\n        \"\"\"Test creating a single post with factory\"\"\"\n        post = PostFactory.create_post(title='Factory Post')\n        \n        self.assertEqual(post.title, 'Factory Post')\n        self.assertEqual(post.status, 'published')\n        self.assertIsNotNone(post.author)\n        self.assertIsNotNone(post.category)\n    \n    def test_multiple_posts_creation(self):\n        \"\"\"Test creating multiple posts with factory\"\"\"\n        posts = PostFactory.create_posts(count=3)\n        \n        self.assertEqual(len(posts), 3)\n        self.assertEqual(Post.objects.count(), 3)\n        \n        for i, post in enumerate(posts):\n            self.assertEqual(post.title, f'Test Post {i+1}')\n",[1047,8775,8776,8781,8797,8819,8841,8845,8859,8868,8872,8906,8910,8923,8932,8967,9001,9035,9039,9052,9061,9092,9123,9153,9184,9188,9201,9210,9247,9251,9264,9273,9305,9309,9322,9331,9335,9367,9371,9384,9393,9422,9447,9451,9456,9487,9501,9525,9529,9542,9551,9587,9625,9629,9651,9673,9695,9699,9704,9717,9726,9730,9737,9751,9760,9764,9769,9792,9807,9822,9834,9838,9842,9847,9869,9884,9899,9912,9916,9920,9925,9938,9954,9972,9997,10022,10047,10061,10075,10112,10116,10135,10139,10152,10161,10196,10218,10222,10235,10244,10279,10301,10305,10310,10319,10328,10332,10338,10355,10364,10368,10377,10395,10413,10432,10450,10455,10471,10475,10480,10501,10531,10546,10560,10564,10568,10586,10614,10629,10641,10645,10649,10672,10676,10682,10704,10713,10717,10725,10741,10758,10770,10800,10829,10834,10861,10865,10871,10875,10888,10897,10901,10914,10923,10950,10954,10980,11006,11025,11043,11047,11060,11069,11092,11096,11118,11145,11149,11171],{"__ignoreMap":1045},[1050,8777,8778],{"class":1052,"line":1053},[1050,8779,8780],{"class":1056},"# tests.py\n",[1050,8782,8783,8785,8787,8789,8792,8794],{"class":1052,"line":1060},[1050,8784,1289],{"class":1288},[1050,8786,1293],{"class":1292},[1050,8788,1297],{"class":1296},[1050,8790,8791],{"class":1292},"test ",[1050,8793,1303],{"class":1288},[1050,8795,8796],{"class":1292}," TestCase\n",[1050,8798,8799,8801,8803,8805,8807,8809,8811,8813,8815,8817],{"class":1052,"line":1066},[1050,8800,1289],{"class":1288},[1050,8802,1293],{"class":1292},[1050,8804,1297],{"class":1296},[1050,8806,1317],{"class":1292},[1050,8808,1297],{"class":1296},[1050,8810,1322],{"class":1292},[1050,8812,1297],{"class":1296},[1050,8814,1327],{"class":1292},[1050,8816,1303],{"class":1288},[1050,8818,1332],{"class":1292},[1050,8820,8821,8823,8825,8827,8829,8831,8833,8835,8837,8839],{"class":1052,"line":1072},[1050,8822,1289],{"class":1288},[1050,8824,4068],{"class":1292},[1050,8826,1297],{"class":1296},[1050,8828,1327],{"class":1292},[1050,8830,1303],{"class":1288},[1050,8832,1346],{"class":1292},[1050,8834,1393],{"class":1296},[1050,8836,1560],{"class":1292},[1050,8838,1393],{"class":1296},[1050,8840,4085],{"class":1292},[1050,8842,8843],{"class":1052,"line":1079},[1050,8844,1076],{"emptyLinePlaceholder":1075},[1050,8846,8847,8849,8852,8854,8857],{"class":1052,"line":1085},[1050,8848,1342],{"class":1341},[1050,8850,8851],{"class":1345}," BlogModelTests",[1050,8853,1349],{"class":1296},[1050,8855,8856],{"class":1352},"TestCase",[1050,8858,1361],{"class":1296},[1050,8860,8861,8863,8866],{"class":1052,"line":1092},[1050,8862,4131],{"class":1088},[1050,8864,8865],{"class":1095},"Test blog models using fixtures",[1050,8867,1089],{"class":1088},[1050,8869,8870],{"class":1052,"line":1099},[1050,8871,1517],{"class":1292},[1050,8873,8874,8877,8879,8882,8884,8886,8888,8890,8892,8894,8896,8898,8900,8902,8904],{"class":1052,"line":1105},[1050,8875,8876],{"class":1292},"    fixtures ",[1050,8878,1369],{"class":1296},[1050,8880,8881],{"class":1296}," [",[1050,8883,1664],{"class":1663},[1050,8885,8657],{"class":1667},[1050,8887,1664],{"class":1663},[1050,8889,1393],{"class":1296},[1050,8891,1747],{"class":1663},[1050,8893,8590],{"class":1667},[1050,8895,1664],{"class":1663},[1050,8897,1393],{"class":1296},[1050,8899,1747],{"class":1663},[1050,8901,8726],{"class":1667},[1050,8903,1664],{"class":1663},[1050,8905,1230],{"class":1296},[1050,8907,8908],{"class":1052,"line":1111},[1050,8909,1517],{"class":1292},[1050,8911,8912,8914,8917,8919,8921],{"class":1052,"line":1117},[1050,8913,1522],{"class":1341},[1050,8915,8916],{"class":4166}," setUp",[1050,8918,1349],{"class":1296},[1050,8920,1532],{"class":1531},[1050,8922,1361],{"class":1296},[1050,8924,8925,8927,8930],{"class":1052,"line":1123},[1050,8926,4863],{"class":1088},[1050,8928,8929],{"class":1095},"Set up test data",[1050,8931,1089],{"class":1088},[1050,8933,8934,8936,8938,8940,8942,8944,8946,8948,8950,8953,8955,8957,8959,8961,8963,8965],{"class":1052,"line":1129},[1050,8935,4529],{"class":1542},[1050,8937,1297],{"class":1296},[1050,8939,6019],{"class":1548},[1050,8941,1727],{"class":1296},[1050,8943,5825],{"class":1292},[1050,8945,1297],{"class":1296},[1050,8947,4417],{"class":1548},[1050,8949,1297],{"class":1296},[1050,8951,8952],{"class":1377},"get",[1050,8954,1349],{"class":1296},[1050,8956,3167],{"class":1383},[1050,8958,1369],{"class":1296},[1050,8960,1664],{"class":1663},[1050,8962,8390],{"class":1667},[1050,8964,1664],{"class":1663},[1050,8966,1405],{"class":1296},[1050,8968,8969,8971,8973,8975,8977,8979,8981,8983,8985,8987,8989,8991,8993,8995,8997,8999],{"class":1052,"line":1135},[1050,8970,4529],{"class":1542},[1050,8972,1297],{"class":1296},[1050,8974,5191],{"class":1548},[1050,8976,1727],{"class":1296},[1050,8978,1346],{"class":1292},[1050,8980,1297],{"class":1296},[1050,8982,4417],{"class":1548},[1050,8984,1297],{"class":1296},[1050,8986,8952],{"class":1377},[1050,8988,1349],{"class":1296},[1050,8990,2265],{"class":1383},[1050,8992,1369],{"class":1296},[1050,8994,1664],{"class":1663},[1050,8996,8327],{"class":1667},[1050,8998,1664],{"class":1663},[1050,9000,1405],{"class":1296},[1050,9002,9003,9005,9007,9009,9011,9013,9015,9017,9019,9021,9023,9025,9027,9029,9031,9033],{"class":1052,"line":1141},[1050,9004,4529],{"class":1542},[1050,9006,1297],{"class":1296},[1050,9008,6981],{"class":1548},[1050,9010,1727],{"class":1296},[1050,9012,1709],{"class":1292},[1050,9014,1297],{"class":1296},[1050,9016,4417],{"class":1548},[1050,9018,1297],{"class":1296},[1050,9020,8952],{"class":1377},[1050,9022,1349],{"class":1296},[1050,9024,2265],{"class":1383},[1050,9026,1369],{"class":1296},[1050,9028,1664],{"class":1663},[1050,9030,8485],{"class":1667},[1050,9032,1664],{"class":1663},[1050,9034,1405],{"class":1296},[1050,9036,9037],{"class":1052,"line":1147},[1050,9038,1517],{"class":1292},[1050,9040,9041,9043,9046,9048,9050],{"class":1052,"line":1153},[1050,9042,1522],{"class":1341},[1050,9044,9045],{"class":4166}," test_post_creation",[1050,9047,1349],{"class":1296},[1050,9049,1532],{"class":1531},[1050,9051,1361],{"class":1296},[1050,9053,9054,9056,9059],{"class":1052,"line":1158},[1050,9055,4863],{"class":1088},[1050,9057,9058],{"class":1095},"Test post creation with fixture data",[1050,9060,1089],{"class":1088},[1050,9062,9063,9065,9067,9070,9072,9074,9076,9078,9080,9082,9084,9086,9088,9090],{"class":1052,"line":1164},[1050,9064,4529],{"class":1542},[1050,9066,1297],{"class":1296},[1050,9068,9069],{"class":1377},"assertEqual",[1050,9071,1349],{"class":1296},[1050,9073,1532],{"class":1542},[1050,9075,1297],{"class":1296},[1050,9077,6981],{"class":1548},[1050,9079,1297],{"class":1296},[1050,9081,6684],{"class":1548},[1050,9083,1393],{"class":1296},[1050,9085,1747],{"class":1663},[1050,9087,8469],{"class":1667},[1050,9089,1664],{"class":1663},[1050,9091,1405],{"class":1296},[1050,9093,9094,9096,9098,9100,9102,9104,9106,9108,9110,9113,9115,9117,9119,9121],{"class":1052,"line":1169},[1050,9095,4529],{"class":1542},[1050,9097,1297],{"class":1296},[1050,9099,9069],{"class":1377},[1050,9101,1349],{"class":1296},[1050,9103,1532],{"class":1542},[1050,9105,1297],{"class":1296},[1050,9107,6981],{"class":1548},[1050,9109,1297],{"class":1296},[1050,9111,9112],{"class":1548},"author",[1050,9114,1393],{"class":1296},[1050,9116,1543],{"class":1542},[1050,9118,1297],{"class":1296},[1050,9120,6019],{"class":1548},[1050,9122,1405],{"class":1296},[1050,9124,9125,9127,9129,9131,9133,9135,9137,9139,9141,9143,9145,9147,9149,9151],{"class":1052,"line":1174},[1050,9126,4529],{"class":1542},[1050,9128,1297],{"class":1296},[1050,9130,9069],{"class":1377},[1050,9132,1349],{"class":1296},[1050,9134,1532],{"class":1542},[1050,9136,1297],{"class":1296},[1050,9138,6981],{"class":1548},[1050,9140,1297],{"class":1296},[1050,9142,5191],{"class":1548},[1050,9144,1393],{"class":1296},[1050,9146,1543],{"class":1542},[1050,9148,1297],{"class":1296},[1050,9150,5191],{"class":1548},[1050,9152,1405],{"class":1296},[1050,9154,9155,9157,9159,9161,9163,9165,9167,9169,9171,9174,9176,9178,9180,9182],{"class":1052,"line":1180},[1050,9156,4529],{"class":1542},[1050,9158,1297],{"class":1296},[1050,9160,9069],{"class":1377},[1050,9162,1349],{"class":1296},[1050,9164,1532],{"class":1542},[1050,9166,1297],{"class":1296},[1050,9168,6981],{"class":1548},[1050,9170,1297],{"class":1296},[1050,9172,9173],{"class":1548},"status",[1050,9175,1393],{"class":1296},[1050,9177,1747],{"class":1663},[1050,9179,1764],{"class":1667},[1050,9181,1664],{"class":1663},[1050,9183,1405],{"class":1296},[1050,9185,9186],{"class":1052,"line":1186},[1050,9187,1517],{"class":1292},[1050,9189,9190,9192,9195,9197,9199],{"class":1052,"line":1192},[1050,9191,1522],{"class":1341},[1050,9193,9194],{"class":4166}," test_category_relationship",[1050,9196,1349],{"class":1296},[1050,9198,1532],{"class":1531},[1050,9200,1361],{"class":1296},[1050,9202,9203,9205,9208],{"class":1052,"line":1198},[1050,9204,4863],{"class":1088},[1050,9206,9207],{"class":1095},"Test category-post relationship",[1050,9209,1089],{"class":1088},[1050,9211,9212,9214,9216,9219,9221,9223,9225,9227,9229,9231,9233,9235,9237,9240,9242,9244],{"class":1052,"line":1204},[1050,9213,4529],{"class":1542},[1050,9215,1297],{"class":1296},[1050,9217,9218],{"class":1377},"assertIn",[1050,9220,1349],{"class":1296},[1050,9222,1532],{"class":1542},[1050,9224,1297],{"class":1296},[1050,9226,6981],{"class":1548},[1050,9228,1393],{"class":1296},[1050,9230,1543],{"class":1542},[1050,9232,1297],{"class":1296},[1050,9234,5191],{"class":1548},[1050,9236,1297],{"class":1296},[1050,9238,9239],{"class":1548},"post_set",[1050,9241,1297],{"class":1296},[1050,9243,4422],{"class":1377},[1050,9245,9246],{"class":1296},"())\n",[1050,9248,9249],{"class":1052,"line":1210},[1050,9250,1517],{"class":1292},[1050,9252,9253,9255,9258,9260,9262],{"class":1052,"line":1216},[1050,9254,1522],{"class":1341},[1050,9256,9257],{"class":4166}," test_post_str_method",[1050,9259,1349],{"class":1296},[1050,9261,1532],{"class":1531},[1050,9263,1361],{"class":1296},[1050,9265,9266,9268,9271],{"class":1052,"line":1221},[1050,9267,4863],{"class":1088},[1050,9269,9270],{"class":1095},"Test post string representation",[1050,9272,1089],{"class":1088},[1050,9274,9275,9277,9279,9281,9283,9286,9288,9290,9292,9294,9297,9299,9301,9303],{"class":1052,"line":1227},[1050,9276,4529],{"class":1542},[1050,9278,1297],{"class":1296},[1050,9280,9069],{"class":1377},[1050,9282,1349],{"class":1296},[1050,9284,9285],{"class":2244},"str",[1050,9287,1349],{"class":1296},[1050,9289,1532],{"class":1542},[1050,9291,1297],{"class":1296},[1050,9293,6981],{"class":1548},[1050,9295,9296],{"class":1296},"),",[1050,9298,1747],{"class":1663},[1050,9300,8469],{"class":1667},[1050,9302,1664],{"class":1663},[1050,9304,1405],{"class":1296},[1050,9306,9307],{"class":1052,"line":1233},[1050,9308,1076],{"emptyLinePlaceholder":1075},[1050,9310,9311,9313,9316,9318,9320],{"class":1052,"line":1238},[1050,9312,1342],{"class":1341},[1050,9314,9315],{"class":1345}," BlogViewTests",[1050,9317,1349],{"class":1296},[1050,9319,8856],{"class":1352},[1050,9321,1361],{"class":1296},[1050,9323,9324,9326,9329],{"class":1052,"line":1243},[1050,9325,4131],{"class":1088},[1050,9327,9328],{"class":1095},"Test blog views using fixtures",[1050,9330,1089],{"class":1088},[1050,9332,9333],{"class":1052,"line":1249},[1050,9334,1517],{"class":1292},[1050,9336,9337,9339,9341,9343,9345,9347,9349,9351,9353,9355,9357,9359,9361,9363,9365],{"class":1052,"line":1255},[1050,9338,8876],{"class":1292},[1050,9340,1369],{"class":1296},[1050,9342,8881],{"class":1296},[1050,9344,1664],{"class":1663},[1050,9346,8226],{"class":1667},[1050,9348,1664],{"class":1663},[1050,9350,1393],{"class":1296},[1050,9352,1747],{"class":1663},[1050,9354,8028],{"class":1667},[1050,9356,1664],{"class":1663},[1050,9358,1393],{"class":1296},[1050,9360,1747],{"class":1663},[1050,9362,8159],{"class":1667},[1050,9364,1664],{"class":1663},[1050,9366,1230],{"class":1296},[1050,9368,9369],{"class":1052,"line":1260},[1050,9370,1517],{"class":1292},[1050,9372,9373,9375,9378,9380,9382],{"class":1052,"line":1266},[1050,9374,1522],{"class":1341},[1050,9376,9377],{"class":4166}," test_post_list_view",[1050,9379,1349],{"class":1296},[1050,9381,1532],{"class":1531},[1050,9383,1361],{"class":1296},[1050,9385,9386,9388,9391],{"class":1052,"line":2051},[1050,9387,4863],{"class":1088},[1050,9389,9390],{"class":1095},"Test post list view with fixture data",[1050,9392,1089],{"class":1088},[1050,9394,9395,9398,9400,9402,9404,9407,9409,9411,9413,9415,9418,9420],{"class":1052,"line":2074},[1050,9396,9397],{"class":1292},"        response ",[1050,9399,1369],{"class":1296},[1050,9401,1543],{"class":1542},[1050,9403,1297],{"class":1296},[1050,9405,9406],{"class":1548},"client",[1050,9408,1297],{"class":1296},[1050,9410,8952],{"class":1377},[1050,9412,1349],{"class":1296},[1050,9414,1664],{"class":1663},[1050,9416,9417],{"class":1667},"/posts/",[1050,9419,1664],{"class":1663},[1050,9421,1405],{"class":1296},[1050,9423,9424,9426,9428,9430,9432,9435,9437,9440,9442,9445],{"class":1052,"line":2107},[1050,9425,4529],{"class":1542},[1050,9427,1297],{"class":1296},[1050,9429,9069],{"class":1377},[1050,9431,1349],{"class":1296},[1050,9433,9434],{"class":1377},"response",[1050,9436,1297],{"class":1296},[1050,9438,9439],{"class":1548},"status_code",[1050,9441,1393],{"class":1296},[1050,9443,9444],{"class":1389}," 200",[1050,9446,1405],{"class":1296},[1050,9448,9449],{"class":1052,"line":2112},[1050,9450,4503],{"class":1292},[1050,9452,9453],{"class":1052,"line":2125},[1050,9454,9455],{"class":1056},"        # Check that published posts are displayed\n",[1050,9457,9458,9461,9463,9465,9467,9469,9471,9473,9475,9477,9479,9481,9483,9485],{"class":1052,"line":2137},[1050,9459,9460],{"class":1292},"        published_posts ",[1050,9462,1369],{"class":1296},[1050,9464,1709],{"class":1292},[1050,9466,1297],{"class":1296},[1050,9468,4417],{"class":1548},[1050,9470,1297],{"class":1296},[1050,9472,4444],{"class":1377},[1050,9474,1349],{"class":1296},[1050,9476,9173],{"class":1383},[1050,9478,1369],{"class":1296},[1050,9480,1664],{"class":1663},[1050,9482,1764],{"class":1667},[1050,9484,1664],{"class":1663},[1050,9486,1405],{"class":1296},[1050,9488,9489,9491,9494,9496,9499],{"class":1052,"line":2142},[1050,9490,5063],{"class":1288},[1050,9492,9493],{"class":1292}," post ",[1050,9495,5079],{"class":1288},[1050,9497,9498],{"class":1292}," published_posts",[1050,9500,3591],{"class":1296},[1050,9502,9503,9505,9507,9510,9512,9514,9516,9519,9521,9523],{"class":1052,"line":2148},[1050,9504,4386],{"class":1542},[1050,9506,1297],{"class":1296},[1050,9508,9509],{"class":1377},"assertContains",[1050,9511,1349],{"class":1296},[1050,9513,9434],{"class":1377},[1050,9515,1393],{"class":1296},[1050,9517,9518],{"class":1377}," post",[1050,9520,1297],{"class":1296},[1050,9522,6684],{"class":1548},[1050,9524,1405],{"class":1296},[1050,9526,9527],{"class":1052,"line":3954},[1050,9528,1517],{"class":1292},[1050,9530,9531,9533,9536,9538,9540],{"class":1052,"line":3967},[1050,9532,1522],{"class":1341},[1050,9534,9535],{"class":4166}," test_post_detail_view",[1050,9537,1349],{"class":1296},[1050,9539,1532],{"class":1531},[1050,9541,1361],{"class":1296},[1050,9543,9544,9546,9549],{"class":1052,"line":3977},[1050,9545,4863],{"class":1088},[1050,9547,9548],{"class":1095},"Test post detail view",[1050,9550,1089],{"class":1088},[1050,9552,9553,9556,9558,9560,9562,9564,9566,9568,9570,9572,9574,9576,9578,9580,9582,9585],{"class":1052,"line":3991},[1050,9554,9555],{"class":1292},"        post ",[1050,9557,1369],{"class":1296},[1050,9559,1709],{"class":1292},[1050,9561,1297],{"class":1296},[1050,9563,4417],{"class":1548},[1050,9565,1297],{"class":1296},[1050,9567,4444],{"class":1377},[1050,9569,1349],{"class":1296},[1050,9571,9173],{"class":1383},[1050,9573,1369],{"class":1296},[1050,9575,1664],{"class":1663},[1050,9577,1764],{"class":1667},[1050,9579,1664],{"class":1663},[1050,9581,4456],{"class":1296},[1050,9583,9584],{"class":1377},"first",[1050,9586,1878],{"class":1296},[1050,9588,9589,9591,9593,9595,9597,9599,9601,9603,9605,9607,9610,9612,9614,9616,9618,9620,9623],{"class":1052,"line":4884},[1050,9590,9397],{"class":1292},[1050,9592,1369],{"class":1296},[1050,9594,1543],{"class":1542},[1050,9596,1297],{"class":1296},[1050,9598,9406],{"class":1548},[1050,9600,1297],{"class":1296},[1050,9602,8952],{"class":1377},[1050,9604,1349],{"class":1296},[1050,9606,4542],{"class":1341},[1050,9608,9609],{"class":1667},"'/posts/",[1050,9611,4549],{"class":4548},[1050,9613,6981],{"class":1377},[1050,9615,1297],{"class":1296},[1050,9617,2265],{"class":1548},[1050,9619,4563],{"class":4548},[1050,9621,9622],{"class":1667},"/'",[1050,9624,1405],{"class":1296},[1050,9626,9627],{"class":1052,"line":4915},[1050,9628,4503],{"class":1292},[1050,9630,9631,9633,9635,9637,9639,9641,9643,9645,9647,9649],{"class":1052,"line":4945},[1050,9632,4529],{"class":1542},[1050,9634,1297],{"class":1296},[1050,9636,9069],{"class":1377},[1050,9638,1349],{"class":1296},[1050,9640,9434],{"class":1377},[1050,9642,1297],{"class":1296},[1050,9644,9439],{"class":1548},[1050,9646,1393],{"class":1296},[1050,9648,9444],{"class":1389},[1050,9650,1405],{"class":1296},[1050,9652,9653,9655,9657,9659,9661,9663,9665,9667,9669,9671],{"class":1052,"line":4975},[1050,9654,4529],{"class":1542},[1050,9656,1297],{"class":1296},[1050,9658,9509],{"class":1377},[1050,9660,1349],{"class":1296},[1050,9662,9434],{"class":1377},[1050,9664,1393],{"class":1296},[1050,9666,9518],{"class":1377},[1050,9668,1297],{"class":1296},[1050,9670,6684],{"class":1548},[1050,9672,1405],{"class":1296},[1050,9674,9675,9677,9679,9681,9683,9685,9687,9689,9691,9693],{"class":1052,"line":5007},[1050,9676,4529],{"class":1542},[1050,9678,1297],{"class":1296},[1050,9680,9509],{"class":1377},[1050,9682,1349],{"class":1296},[1050,9684,9434],{"class":1377},[1050,9686,1393],{"class":1296},[1050,9688,9518],{"class":1377},[1050,9690,1297],{"class":1296},[1050,9692,6708],{"class":1548},[1050,9694,1405],{"class":1296},[1050,9696,9697],{"class":1052,"line":5039},[1050,9698,1076],{"emptyLinePlaceholder":1075},[1050,9700,9701],{"class":1052,"line":5045},[1050,9702,9703],{"class":1056},"# Custom test case with dynamic fixtures\n",[1050,9705,9706,9708,9711,9713,9715],{"class":1052,"line":5050},[1050,9707,1342],{"class":1341},[1050,9709,9710],{"class":1345}," DynamicFixtureTestCase",[1050,9712,1349],{"class":1296},[1050,9714,8856],{"class":1352},[1050,9716,1361],{"class":1296},[1050,9718,9719,9721,9724],{"class":1052,"line":5060},[1050,9720,4131],{"class":1088},[1050,9722,9723],{"class":1095},"Test case that creates fixtures dynamically",[1050,9725,1089],{"class":1088},[1050,9727,9728],{"class":1052,"line":5087},[1050,9729,1517],{"class":1292},[1050,9731,9732,9734],{"class":1052,"line":5113},[1050,9733,7527],{"class":1296},[1050,9735,9736],{"class":2244},"classmethod\n",[1050,9738,9739,9741,9744,9746,9749],{"class":1052,"line":5125},[1050,9740,1522],{"class":1341},[1050,9742,9743],{"class":4166}," setUpTestData",[1050,9745,1349],{"class":1296},[1050,9747,9748],{"class":4176},"cls",[1050,9750,1361],{"class":1296},[1050,9752,9753,9755,9758],{"class":1052,"line":5134},[1050,9754,4863],{"class":1088},[1050,9756,9757],{"class":1095},"Create test data once for the entire test class",[1050,9759,1089],{"class":1088},[1050,9761,9762],{"class":1052,"line":5150},[1050,9763,4503],{"class":1292},[1050,9765,9766],{"class":1052,"line":5166},[1050,9767,9768],{"class":1056},"        # Create test user\n",[1050,9770,9771,9774,9776,9778,9780,9782,9784,9786,9788,9790],{"class":1052,"line":5172},[1050,9772,9773],{"class":1542},"        cls",[1050,9775,1297],{"class":1296},[1050,9777,8517],{"class":1548},[1050,9779,1727],{"class":1296},[1050,9781,5825],{"class":1292},[1050,9783,1297],{"class":1296},[1050,9785,4417],{"class":1548},[1050,9787,1297],{"class":1296},[1050,9789,8375],{"class":1377},[1050,9791,4811],{"class":1296},[1050,9793,9794,9796,9798,9800,9803,9805],{"class":1052,"line":5178},[1050,9795,8383],{"class":1383},[1050,9797,1369],{"class":1296},[1050,9799,1664],{"class":1663},[1050,9801,9802],{"class":1667},"dynamicuser",[1050,9804,1664],{"class":1663},[1050,9806,2206],{"class":1296},[1050,9808,9809,9811,9813,9815,9818,9820],{"class":1052,"line":5196},[1050,9810,8400],{"class":1383},[1050,9812,1369],{"class":1296},[1050,9814,1664],{"class":1663},[1050,9816,9817],{"class":1667},"dynamic@example.com",[1050,9819,1664],{"class":1663},[1050,9821,2206],{"class":1296},[1050,9823,9824,9826,9828,9830,9832],{"class":1052,"line":5201},[1050,9825,8417],{"class":1383},[1050,9827,1369],{"class":1296},[1050,9829,1664],{"class":1663},[1050,9831,8424],{"class":1667},[1050,9833,4155],{"class":1663},[1050,9835,9836],{"class":1052,"line":5209},[1050,9837,4841],{"class":1296},[1050,9839,9840],{"class":1052,"line":5214},[1050,9841,4503],{"class":1292},[1050,9843,9844],{"class":1052,"line":5228},[1050,9845,9846],{"class":1056},"        # Create test category\n",[1050,9848,9849,9851,9853,9855,9857,9859,9861,9863,9865,9867],{"class":1052,"line":5238},[1050,9850,9773],{"class":1542},[1050,9852,1297],{"class":1296},[1050,9854,8529],{"class":1548},[1050,9856,1727],{"class":1296},[1050,9858,1346],{"class":1292},[1050,9860,1297],{"class":1296},[1050,9862,4417],{"class":1548},[1050,9864,1297],{"class":1296},[1050,9866,6671],{"class":1377},[1050,9868,4811],{"class":1296},[1050,9870,9871,9873,9875,9877,9880,9882],{"class":1052,"line":5243},[1050,9872,8303],{"class":1383},[1050,9874,1369],{"class":1296},[1050,9876,1664],{"class":1663},[1050,9878,9879],{"class":1667},"Dynamic Category",[1050,9881,1664],{"class":1663},[1050,9883,2206],{"class":1296},[1050,9885,9886,9888,9890,9892,9895,9897],{"class":1052,"line":5253},[1050,9887,8320],{"class":1383},[1050,9889,1369],{"class":1296},[1050,9891,1664],{"class":1663},[1050,9893,9894],{"class":1667},"dynamic-category",[1050,9896,1664],{"class":1663},[1050,9898,2206],{"class":1296},[1050,9900,9901,9903,9905,9907,9910],{"class":1052,"line":5282},[1050,9902,8337],{"class":1383},[1050,9904,1369],{"class":1296},[1050,9906,1664],{"class":1663},[1050,9908,9909],{"class":1667},"Dynamically created category",[1050,9911,4155],{"class":1663},[1050,9913,9914],{"class":1052,"line":5311},[1050,9915,4841],{"class":1296},[1050,9917,9918],{"class":1052,"line":5340},[1050,9919,4503],{"class":1292},[1050,9921,9922],{"class":1052,"line":5369},[1050,9923,9924],{"class":1056},"        # Create test posts\n",[1050,9926,9927,9929,9931,9934,9936],{"class":1052,"line":5401},[1050,9928,9773],{"class":1542},[1050,9930,1297],{"class":1296},[1050,9932,9933],{"class":1548},"test_posts",[1050,9935,1727],{"class":1296},[1050,9937,5057],{"class":1296},[1050,9939,9940,9942,9944,9946,9948,9950,9952],{"class":1052,"line":5433},[1050,9941,5063],{"class":1288},[1050,9943,5769],{"class":1292},[1050,9945,5079],{"class":1288},[1050,9947,5774],{"class":1525},[1050,9949,1349],{"class":1296},[1050,9951,4266],{"class":1389},[1050,9953,1361],{"class":1296},[1050,9955,9956,9958,9960,9962,9964,9966,9968,9970],{"class":1052,"line":5465},[1050,9957,6658],{"class":1292},[1050,9959,1369],{"class":1296},[1050,9961,1709],{"class":1292},[1050,9963,1297],{"class":1296},[1050,9965,4417],{"class":1548},[1050,9967,1297],{"class":1296},[1050,9969,6671],{"class":1377},[1050,9971,4811],{"class":1296},[1050,9973,9974,9976,9978,9980,9983,9985,9987,9989,9991,9993,9995],{"class":1052,"line":5497},[1050,9975,6679],{"class":1383},[1050,9977,1369],{"class":1296},[1050,9979,4542],{"class":1341},[1050,9981,9982],{"class":1667},"'Dynamic Post ",[1050,9984,4549],{"class":4548},[1050,9986,5800],{"class":1377},[1050,9988,5803],{"class":3998},[1050,9990,5806],{"class":1389},[1050,9992,4563],{"class":4548},[1050,9994,1664],{"class":1667},[1050,9996,2206],{"class":1296},[1050,9998,9999,10001,10003,10005,10008,10010,10012,10014,10016,10018,10020],{"class":1052,"line":5529},[1050,10000,5116],{"class":1383},[1050,10002,1369],{"class":1296},[1050,10004,4542],{"class":1341},[1050,10006,10007],{"class":1667},"'dynamic-post-",[1050,10009,4549],{"class":4548},[1050,10011,5800],{"class":1377},[1050,10013,5803],{"class":3998},[1050,10015,5806],{"class":1389},[1050,10017,4563],{"class":4548},[1050,10019,1664],{"class":1667},[1050,10021,2206],{"class":1296},[1050,10023,10024,10026,10028,10030,10033,10035,10037,10039,10041,10043,10045],{"class":1052,"line":5561},[1050,10025,6703],{"class":1383},[1050,10027,1369],{"class":1296},[1050,10029,4542],{"class":1341},[1050,10031,10032],{"class":1667},"'Content for dynamic post ",[1050,10034,4549],{"class":4548},[1050,10036,5800],{"class":1377},[1050,10038,5803],{"class":3998},[1050,10040,5806],{"class":1389},[1050,10042,4563],{"class":4548},[1050,10044,1664],{"class":1667},[1050,10046,2206],{"class":1296},[1050,10048,10049,10051,10053,10055,10057,10059],{"class":1052,"line":5566},[1050,10050,6716],{"class":1383},[1050,10052,1369],{"class":1296},[1050,10054,9748],{"class":1542},[1050,10056,1297],{"class":1296},[1050,10058,8517],{"class":1548},[1050,10060,2206],{"class":1296},[1050,10062,10063,10065,10067,10069,10071,10073],{"class":1052,"line":5571},[1050,10064,6737],{"class":1383},[1050,10066,1369],{"class":1296},[1050,10068,9748],{"class":1542},[1050,10070,1297],{"class":1296},[1050,10072,8529],{"class":1548},[1050,10074,2206],{"class":1296},[1050,10076,10077,10079,10081,10083,10085,10087,10090,10092,10095,10097,10100,10103,10106,10108,10110],{"class":1052,"line":5580},[1050,10078,6757],{"class":1383},[1050,10080,1369],{"class":1296},[1050,10082,1664],{"class":1663},[1050,10084,1764],{"class":1667},[1050,10086,1664],{"class":1663},[1050,10088,10089],{"class":1288}," if",[1050,10091,5769],{"class":1377},[1050,10093,10094],{"class":3998},"%",[1050,10096,2376],{"class":1389},[1050,10098,10099],{"class":3998}," ==",[1050,10101,10102],{"class":1389}," 0",[1050,10104,10105],{"class":1288}," else",[1050,10107,1747],{"class":1663},[1050,10109,1740],{"class":1667},[1050,10111,4155],{"class":1663},[1050,10113,10114],{"class":1052,"line":5603},[1050,10115,5175],{"class":1296},[1050,10117,10118,10121,10123,10125,10127,10129,10131,10133],{"class":1052,"line":5627},[1050,10119,10120],{"class":1542},"            cls",[1050,10122,1297],{"class":1296},[1050,10124,9933],{"class":1548},[1050,10126,1297],{"class":1296},[1050,10128,5186],{"class":1377},[1050,10130,1349],{"class":1296},[1050,10132,6981],{"class":1377},[1050,10134,1405],{"class":1296},[1050,10136,10137],{"class":1052,"line":5638},[1050,10138,1517],{"class":1292},[1050,10140,10141,10143,10146,10148,10150],{"class":1052,"line":5645},[1050,10142,1522],{"class":1341},[1050,10144,10145],{"class":4166}," test_published_posts_count",[1050,10147,1349],{"class":1296},[1050,10149,1532],{"class":1531},[1050,10151,1361],{"class":1296},[1050,10153,10154,10156,10159],{"class":1052,"line":5660},[1050,10155,4863],{"class":1088},[1050,10157,10158],{"class":1095},"Test count of published posts",[1050,10160,1089],{"class":1088},[1050,10162,10163,10166,10168,10170,10172,10174,10176,10178,10180,10182,10184,10186,10188,10190,10192,10194],{"class":1052,"line":5676},[1050,10164,10165],{"class":1292},"        published_count ",[1050,10167,1369],{"class":1296},[1050,10169,1709],{"class":1292},[1050,10171,1297],{"class":1296},[1050,10173,4417],{"class":1548},[1050,10175,1297],{"class":1296},[1050,10177,4444],{"class":1377},[1050,10179,1349],{"class":1296},[1050,10181,9173],{"class":1383},[1050,10183,1369],{"class":1296},[1050,10185,1664],{"class":1663},[1050,10187,1764],{"class":1667},[1050,10189,1664],{"class":1663},[1050,10191,4456],{"class":1296},[1050,10193,5779],{"class":1377},[1050,10195,1878],{"class":1296},[1050,10197,10198,10200,10202,10204,10206,10209,10211,10213,10215],{"class":1052,"line":5681},[1050,10199,4529],{"class":1542},[1050,10201,1297],{"class":1296},[1050,10203,9069],{"class":1377},[1050,10205,1349],{"class":1296},[1050,10207,10208],{"class":1377},"published_count",[1050,10210,1393],{"class":1296},[1050,10212,2520],{"class":1389},[1050,10214,4560],{"class":1296},[1050,10216,10217],{"class":1056},"  # Posts 1, 3, 5\n",[1050,10219,10220],{"class":1052,"line":5686},[1050,10221,1517],{"class":1292},[1050,10223,10224,10226,10229,10231,10233],{"class":1052,"line":5703},[1050,10225,1522],{"class":1341},[1050,10227,10228],{"class":4166}," test_draft_posts_count",[1050,10230,1349],{"class":1296},[1050,10232,1532],{"class":1531},[1050,10234,1361],{"class":1296},[1050,10236,10237,10239,10242],{"class":1052,"line":5708},[1050,10238,4863],{"class":1088},[1050,10240,10241],{"class":1095},"Test count of draft posts",[1050,10243,1089],{"class":1088},[1050,10245,10246,10249,10251,10253,10255,10257,10259,10261,10263,10265,10267,10269,10271,10273,10275,10277],{"class":1052,"line":5716},[1050,10247,10248],{"class":1292},"        draft_count ",[1050,10250,1369],{"class":1296},[1050,10252,1709],{"class":1292},[1050,10254,1297],{"class":1296},[1050,10256,4417],{"class":1548},[1050,10258,1297],{"class":1296},[1050,10260,4444],{"class":1377},[1050,10262,1349],{"class":1296},[1050,10264,9173],{"class":1383},[1050,10266,1369],{"class":1296},[1050,10268,1664],{"class":1663},[1050,10270,1740],{"class":1667},[1050,10272,1664],{"class":1663},[1050,10274,4456],{"class":1296},[1050,10276,5779],{"class":1377},[1050,10278,1878],{"class":1296},[1050,10280,10281,10283,10285,10287,10289,10292,10294,10296,10298],{"class":1052,"line":5721},[1050,10282,4529],{"class":1542},[1050,10284,1297],{"class":1296},[1050,10286,9069],{"class":1377},[1050,10288,1349],{"class":1296},[1050,10290,10291],{"class":1377},"draft_count",[1050,10293,1393],{"class":1296},[1050,10295,2376],{"class":1389},[1050,10297,4560],{"class":1296},[1050,10299,10300],{"class":1056},"  # Posts 2, 4\n",[1050,10302,10303],{"class":1052,"line":5740},[1050,10304,1076],{"emptyLinePlaceholder":1075},[1050,10306,10307],{"class":1052,"line":5750},[1050,10308,10309],{"class":1056},"# Factory-based fixture creation\n",[1050,10311,10312,10314,10317],{"class":1052,"line":5755},[1050,10313,1342],{"class":1341},[1050,10315,10316],{"class":1345}," PostFactory",[1050,10318,3591],{"class":1296},[1050,10320,10321,10323,10326],{"class":1052,"line":5764},[1050,10322,4131],{"class":1088},[1050,10324,10325],{"class":1095},"Factory for creating test posts",[1050,10327,1089],{"class":1088},[1050,10329,10330],{"class":1052,"line":5784},[1050,10331,1517],{"class":1292},[1050,10333,10334,10336],{"class":1052,"line":5813},[1050,10335,7527],{"class":1296},[1050,10337,7530],{"class":2244},[1050,10339,10340,10342,10345,10347,10350,10353],{"class":1052,"line":5838},[1050,10341,1522],{"class":1341},[1050,10343,10344],{"class":4166}," create_post",[1050,10346,1349],{"class":1296},[1050,10348,10349],{"class":3998},"**",[1050,10351,10352],{"class":4176},"kwargs",[1050,10354,1361],{"class":1296},[1050,10356,10357,10359,10362],{"class":1052,"line":5850},[1050,10358,4863],{"class":1088},[1050,10360,10361],{"class":1095},"Create a post with default values",[1050,10363,1089],{"class":1088},[1050,10365,10366],{"class":1052,"line":5857},[1050,10367,4503],{"class":1292},[1050,10369,10370,10373,10375],{"class":1052,"line":5875},[1050,10371,10372],{"class":1292},"        defaults ",[1050,10374,1369],{"class":1296},[1050,10376,2236],{"class":1296},[1050,10378,10379,10381,10383,10385,10387,10389,10391,10393],{"class":1052,"line":5904},[1050,10380,6271],{"class":1663},[1050,10382,6684],{"class":1667},[1050,10384,1664],{"class":1663},[1050,10386,2195],{"class":1296},[1050,10388,1747],{"class":1663},[1050,10390,8469],{"class":1667},[1050,10392,1664],{"class":1663},[1050,10394,2206],{"class":1296},[1050,10396,10397,10399,10401,10403,10405,10407,10409,10411],{"class":1052,"line":5930},[1050,10398,6271],{"class":1663},[1050,10400,2265],{"class":1667},[1050,10402,1664],{"class":1663},[1050,10404,2195],{"class":1296},[1050,10406,1747],{"class":1663},[1050,10408,8485],{"class":1667},[1050,10410,1664],{"class":1663},[1050,10412,2206],{"class":1296},[1050,10414,10415,10417,10419,10421,10423,10425,10428,10430],{"class":1052,"line":5946},[1050,10416,6271],{"class":1663},[1050,10418,6708],{"class":1667},[1050,10420,1664],{"class":1663},[1050,10422,2195],{"class":1296},[1050,10424,1747],{"class":1663},[1050,10426,10427],{"class":1667},"Test content",[1050,10429,1664],{"class":1663},[1050,10431,2206],{"class":1296},[1050,10433,10434,10436,10438,10440,10442,10444,10446,10448],{"class":1052,"line":5951},[1050,10435,6271],{"class":1663},[1050,10437,9173],{"class":1667},[1050,10439,1664],{"class":1663},[1050,10441,2195],{"class":1296},[1050,10443,1747],{"class":1663},[1050,10445,1764],{"class":1667},[1050,10447,1664],{"class":1663},[1050,10449,2206],{"class":1296},[1050,10451,10452],{"class":1052,"line":5956},[1050,10453,10454],{"class":1296},"        }\n",[1050,10456,10457,10460,10462,10465,10467,10469],{"class":1052,"line":5967},[1050,10458,10459],{"class":1292},"        defaults",[1050,10461,1297],{"class":1296},[1050,10463,10464],{"class":1377},"update",[1050,10466,1349],{"class":1296},[1050,10468,10352],{"class":1377},[1050,10470,1405],{"class":1296},[1050,10472,10473],{"class":1052,"line":5989},[1050,10474,4503],{"class":1292},[1050,10476,10477],{"class":1052,"line":6001},[1050,10478,10479],{"class":1056},"        # Ensure required relationships exist\n",[1050,10481,10482,10484,10486,10488,10490,10493,10496,10499],{"class":1052,"line":6007},[1050,10483,4365],{"class":1288},[1050,10485,1747],{"class":1663},[1050,10487,9112],{"class":1667},[1050,10489,1664],{"class":1663},[1050,10491,10492],{"class":3998}," not",[1050,10494,10495],{"class":3998}," in",[1050,10497,10498],{"class":1292}," defaults",[1050,10500,3591],{"class":1296},[1050,10502,10503,10506,10508,10510,10512,10514,10517,10519,10521,10523,10525,10527,10529],{"class":1052,"line":6024},[1050,10504,10505],{"class":1292},"            defaults",[1050,10507,4371],{"class":1296},[1050,10509,1664],{"class":1663},[1050,10511,9112],{"class":1667},[1050,10513,1664],{"class":1663},[1050,10515,10516],{"class":1296},"]",[1050,10518,1727],{"class":1296},[1050,10520,5825],{"class":1292},[1050,10522,1297],{"class":1296},[1050,10524,4417],{"class":1548},[1050,10526,1297],{"class":1296},[1050,10528,8375],{"class":1377},[1050,10530,4811],{"class":1296},[1050,10532,10533,10535,10537,10539,10542,10544],{"class":1052,"line":6029},[1050,10534,5841],{"class":1383},[1050,10536,1369],{"class":1296},[1050,10538,1664],{"class":1663},[1050,10540,10541],{"class":1667},"testauthor",[1050,10543,1664],{"class":1663},[1050,10545,2206],{"class":1296},[1050,10547,10548,10551,10553,10555,10558],{"class":1052,"line":6037},[1050,10549,10550],{"class":1383},"                email",[1050,10552,1369],{"class":1296},[1050,10554,1664],{"class":1663},[1050,10556,10557],{"class":1667},"author@example.com",[1050,10559,4155],{"class":1663},[1050,10561,10562],{"class":1052,"line":6042},[1050,10563,5175],{"class":1296},[1050,10565,10566],{"class":1052,"line":6072},[1050,10567,4503],{"class":1292},[1050,10569,10570,10572,10574,10576,10578,10580,10582,10584],{"class":1052,"line":6082},[1050,10571,4365],{"class":1288},[1050,10573,1747],{"class":1663},[1050,10575,5191],{"class":1667},[1050,10577,1664],{"class":1663},[1050,10579,10492],{"class":3998},[1050,10581,10495],{"class":3998},[1050,10583,10498],{"class":1292},[1050,10585,3591],{"class":1296},[1050,10587,10588,10590,10592,10594,10596,10598,10600,10602,10604,10606,10608,10610,10612],{"class":1052,"line":6087},[1050,10589,10505],{"class":1292},[1050,10591,4371],{"class":1296},[1050,10593,1664],{"class":1663},[1050,10595,5191],{"class":1667},[1050,10597,1664],{"class":1663},[1050,10599,10516],{"class":1296},[1050,10601,1727],{"class":1296},[1050,10603,1346],{"class":1292},[1050,10605,1297],{"class":1296},[1050,10607,4417],{"class":1548},[1050,10609,1297],{"class":1296},[1050,10611,6671],{"class":1377},[1050,10613,4811],{"class":1296},[1050,10615,10616,10619,10621,10623,10625,10627],{"class":1052,"line":6097},[1050,10617,10618],{"class":1383},"                name",[1050,10620,1369],{"class":1296},[1050,10622,1664],{"class":1663},[1050,10624,8310],{"class":1667},[1050,10626,1664],{"class":1663},[1050,10628,2206],{"class":1296},[1050,10630,10631,10633,10635,10637,10639],{"class":1052,"line":6113},[1050,10632,5116],{"class":1383},[1050,10634,1369],{"class":1296},[1050,10636,1664],{"class":1663},[1050,10638,8327],{"class":1667},[1050,10640,4155],{"class":1663},[1050,10642,10643],{"class":1052,"line":6130},[1050,10644,5175],{"class":1296},[1050,10646,10647],{"class":1052,"line":6144},[1050,10648,4503],{"class":1292},[1050,10650,10651,10653,10655,10657,10659,10661,10663,10665,10667,10670],{"class":1052,"line":6158},[1050,10652,1539],{"class":1288},[1050,10654,1709],{"class":1292},[1050,10656,1297],{"class":1296},[1050,10658,4417],{"class":1548},[1050,10660,1297],{"class":1296},[1050,10662,6671],{"class":1377},[1050,10664,1349],{"class":1296},[1050,10666,10349],{"class":3998},[1050,10668,10669],{"class":1377},"defaults",[1050,10671,1405],{"class":1296},[1050,10673,10674],{"class":1052,"line":6172},[1050,10675,1517],{"class":1292},[1050,10677,10678,10680],{"class":1052,"line":6189},[1050,10679,7527],{"class":1296},[1050,10681,7530],{"class":2244},[1050,10683,10684,10686,10688,10690,10692,10694,10696,10698,10700,10702],{"class":1052,"line":6203},[1050,10685,1522],{"class":1341},[1050,10687,6047],{"class":4166},[1050,10689,1349],{"class":1296},[1050,10691,5779],{"class":4176},[1050,10693,1369],{"class":3998},[1050,10695,4266],{"class":1389},[1050,10697,1393],{"class":1296},[1050,10699,4355],{"class":3998},[1050,10701,10352],{"class":4176},[1050,10703,1361],{"class":1296},[1050,10705,10706,10708,10711],{"class":1052,"line":6217},[1050,10707,4863],{"class":1088},[1050,10709,10710],{"class":1095},"Create multiple posts",[1050,10712,1089],{"class":1088},[1050,10714,10715],{"class":1052,"line":6234},[1050,10716,4503],{"class":1292},[1050,10718,10719,10721,10723],{"class":1052,"line":6248},[1050,10720,4717],{"class":1292},[1050,10722,1369],{"class":1296},[1050,10724,5057],{"class":1296},[1050,10726,10727,10729,10731,10733,10735,10737,10739],{"class":1052,"line":6253},[1050,10728,5063],{"class":1288},[1050,10730,5769],{"class":1292},[1050,10732,5079],{"class":1288},[1050,10734,5774],{"class":1525},[1050,10736,1349],{"class":1296},[1050,10738,5779],{"class":1377},[1050,10740,1361],{"class":1296},[1050,10742,10743,10746,10748,10751,10753,10756],{"class":1052,"line":6258},[1050,10744,10745],{"class":1292},"            post_kwargs ",[1050,10747,1369],{"class":1296},[1050,10749,10750],{"class":1292}," kwargs",[1050,10752,1297],{"class":1296},[1050,10754,10755],{"class":1377},"copy",[1050,10757,1878],{"class":1296},[1050,10759,10760,10763,10765,10767],{"class":1052,"line":6268},[1050,10761,10762],{"class":1292},"            post_kwargs",[1050,10764,1297],{"class":1296},[1050,10766,10464],{"class":1377},[1050,10768,10769],{"class":1296},"({\n",[1050,10771,10772,10775,10777,10779,10781,10783,10786,10788,10790,10792,10794,10796,10798],{"class":1052,"line":6312},[1050,10773,10774],{"class":1663},"                '",[1050,10776,6684],{"class":1667},[1050,10778,1664],{"class":1663},[1050,10780,2195],{"class":1296},[1050,10782,5792],{"class":1341},[1050,10784,10785],{"class":1667},"'Test Post ",[1050,10787,4549],{"class":4548},[1050,10789,5800],{"class":1377},[1050,10791,5803],{"class":3998},[1050,10793,5806],{"class":1389},[1050,10795,4563],{"class":4548},[1050,10797,1664],{"class":1667},[1050,10799,2206],{"class":1296},[1050,10801,10802,10804,10806,10808,10810,10812,10815,10817,10819,10821,10823,10825,10827],{"class":1052,"line":6353},[1050,10803,10774],{"class":1663},[1050,10805,2265],{"class":1667},[1050,10807,1664],{"class":1663},[1050,10809,2195],{"class":1296},[1050,10811,5792],{"class":1341},[1050,10813,10814],{"class":1667},"'test-post-",[1050,10816,4549],{"class":4548},[1050,10818,5800],{"class":1377},[1050,10820,5803],{"class":3998},[1050,10822,5806],{"class":1389},[1050,10824,4563],{"class":4548},[1050,10826,1664],{"class":1667},[1050,10828,2206],{"class":1296},[1050,10830,10831],{"class":1052,"line":6358},[1050,10832,10833],{"class":1296},"            })\n",[1050,10835,10836,10838,10840,10842,10844,10847,10849,10852,10854,10856,10859],{"class":1052,"line":6363},[1050,10837,6972],{"class":1292},[1050,10839,1297],{"class":1296},[1050,10841,5186],{"class":1377},[1050,10843,1349],{"class":1296},[1050,10845,10846],{"class":1377},"PostFactory",[1050,10848,1297],{"class":1296},[1050,10850,10851],{"class":1377},"create_post",[1050,10853,1349],{"class":1296},[1050,10855,10349],{"class":3998},[1050,10857,10858],{"class":1377},"post_kwargs",[1050,10860,6939],{"class":1296},[1050,10862,10863],{"class":1052,"line":6372},[1050,10864,4503],{"class":1292},[1050,10866,10867,10869],{"class":1052,"line":6389},[1050,10868,1539],{"class":1288},[1050,10870,6996],{"class":1292},[1050,10872,10873],{"class":1052,"line":6412},[1050,10874,1076],{"emptyLinePlaceholder":1075},[1050,10876,10877,10879,10882,10884,10886],{"class":1052,"line":6433},[1050,10878,1342],{"class":1341},[1050,10880,10881],{"class":1345}," FactoryBasedTests",[1050,10883,1349],{"class":1296},[1050,10885,8856],{"class":1352},[1050,10887,1361],{"class":1296},[1050,10889,10890,10892,10895],{"class":1052,"line":6460},[1050,10891,4131],{"class":1088},[1050,10893,10894],{"class":1095},"Tests using factory-based fixture creation",[1050,10896,1089],{"class":1088},[1050,10898,10899],{"class":1052,"line":6465},[1050,10900,1517],{"class":1292},[1050,10902,10903,10905,10908,10910,10912],{"class":1052,"line":6519},[1050,10904,1522],{"class":1341},[1050,10906,10907],{"class":4166}," test_single_post_creation",[1050,10909,1349],{"class":1296},[1050,10911,1532],{"class":1531},[1050,10913,1361],{"class":1296},[1050,10915,10916,10918,10921],{"class":1052,"line":6524},[1050,10917,4863],{"class":1088},[1050,10919,10920],{"class":1095},"Test creating a single post with factory",[1050,10922,1089],{"class":1088},[1050,10924,10925,10927,10929,10931,10933,10935,10937,10939,10941,10943,10946,10948],{"class":1052,"line":6530},[1050,10926,9555],{"class":1292},[1050,10928,1369],{"class":1296},[1050,10930,10316],{"class":1292},[1050,10932,1297],{"class":1296},[1050,10934,10851],{"class":1377},[1050,10936,1349],{"class":1296},[1050,10938,6684],{"class":1383},[1050,10940,1369],{"class":1296},[1050,10942,1664],{"class":1663},[1050,10944,10945],{"class":1667},"Factory Post",[1050,10947,1664],{"class":1663},[1050,10949,1405],{"class":1296},[1050,10951,10952],{"class":1052,"line":6541},[1050,10953,4503],{"class":1292},[1050,10955,10956,10958,10960,10962,10964,10966,10968,10970,10972,10974,10976,10978],{"class":1052,"line":6551},[1050,10957,4529],{"class":1542},[1050,10959,1297],{"class":1296},[1050,10961,9069],{"class":1377},[1050,10963,1349],{"class":1296},[1050,10965,6981],{"class":1377},[1050,10967,1297],{"class":1296},[1050,10969,6684],{"class":1548},[1050,10971,1393],{"class":1296},[1050,10973,1747],{"class":1663},[1050,10975,10945],{"class":1667},[1050,10977,1664],{"class":1663},[1050,10979,1405],{"class":1296},[1050,10981,10982,10984,10986,10988,10990,10992,10994,10996,10998,11000,11002,11004],{"class":1052,"line":6583},[1050,10983,4529],{"class":1542},[1050,10985,1297],{"class":1296},[1050,10987,9069],{"class":1377},[1050,10989,1349],{"class":1296},[1050,10991,6981],{"class":1377},[1050,10993,1297],{"class":1296},[1050,10995,9173],{"class":1548},[1050,10997,1393],{"class":1296},[1050,10999,1747],{"class":1663},[1050,11001,1764],{"class":1667},[1050,11003,1664],{"class":1663},[1050,11005,1405],{"class":1296},[1050,11007,11008,11010,11012,11015,11017,11019,11021,11023],{"class":1052,"line":6613},[1050,11009,4529],{"class":1542},[1050,11011,1297],{"class":1296},[1050,11013,11014],{"class":1377},"assertIsNotNone",[1050,11016,1349],{"class":1296},[1050,11018,6981],{"class":1377},[1050,11020,1297],{"class":1296},[1050,11022,9112],{"class":1548},[1050,11024,1405],{"class":1296},[1050,11026,11027,11029,11031,11033,11035,11037,11039,11041],{"class":1052,"line":6624},[1050,11028,4529],{"class":1542},[1050,11030,1297],{"class":1296},[1050,11032,11014],{"class":1377},[1050,11034,1349],{"class":1296},[1050,11036,6981],{"class":1377},[1050,11038,1297],{"class":1296},[1050,11040,5191],{"class":1548},[1050,11042,1405],{"class":1296},[1050,11044,11045],{"class":1052,"line":6629},[1050,11046,1517],{"class":1292},[1050,11048,11049,11051,11054,11056,11058],{"class":1052,"line":6650},[1050,11050,1522],{"class":1341},[1050,11052,11053],{"class":4166}," test_multiple_posts_creation",[1050,11055,1349],{"class":1296},[1050,11057,1532],{"class":1531},[1050,11059,1361],{"class":1296},[1050,11061,11062,11064,11067],{"class":1052,"line":6655},[1050,11063,4863],{"class":1088},[1050,11065,11066],{"class":1095},"Test creating multiple posts with factory",[1050,11068,1089],{"class":1088},[1050,11070,11071,11073,11075,11077,11079,11081,11083,11085,11087,11090],{"class":1052,"line":6676},[1050,11072,4717],{"class":1292},[1050,11074,1369],{"class":1296},[1050,11076,10316],{"class":1292},[1050,11078,1297],{"class":1296},[1050,11080,4726],{"class":1377},[1050,11082,1349],{"class":1296},[1050,11084,5779],{"class":1383},[1050,11086,1369],{"class":1296},[1050,11088,11089],{"class":1389},"3",[1050,11091,1405],{"class":1296},[1050,11093,11094],{"class":1052,"line":6689},[1050,11095,4503],{"class":1292},[1050,11097,11098,11100,11102,11104,11106,11108,11110,11112,11114,11116],{"class":1052,"line":6700},[1050,11099,4529],{"class":1542},[1050,11101,1297],{"class":1296},[1050,11103,9069],{"class":1377},[1050,11105,1349],{"class":1296},[1050,11107,4552],{"class":1525},[1050,11109,1349],{"class":1296},[1050,11111,4737],{"class":1377},[1050,11113,9296],{"class":1296},[1050,11115,2520],{"class":1389},[1050,11117,1405],{"class":1296},[1050,11119,11120,11122,11124,11126,11128,11130,11132,11134,11136,11138,11141,11143],{"class":1052,"line":6713},[1050,11121,4529],{"class":1542},[1050,11123,1297],{"class":1296},[1050,11125,9069],{"class":1377},[1050,11127,1349],{"class":1296},[1050,11129,8152],{"class":1377},[1050,11131,1297],{"class":1296},[1050,11133,4417],{"class":1548},[1050,11135,1297],{"class":1296},[1050,11137,5779],{"class":1377},[1050,11139,11140],{"class":1296},"(),",[1050,11142,2520],{"class":1389},[1050,11144,1405],{"class":1296},[1050,11146,11147],{"class":1052,"line":6734},[1050,11148,4503],{"class":1292},[1050,11150,11151,11153,11156,11158,11160,11162,11165,11167,11169],{"class":1052,"line":6754},[1050,11152,5063],{"class":1288},[1050,11154,11155],{"class":1292}," i",[1050,11157,1393],{"class":1296},[1050,11159,9493],{"class":1292},[1050,11161,5079],{"class":1288},[1050,11163,11164],{"class":1525}," enumerate",[1050,11166,1349],{"class":1296},[1050,11168,4737],{"class":1377},[1050,11170,1361],{"class":1296},[1050,11172,11173,11175,11177,11179,11181,11183,11185,11187,11189,11191,11193,11195,11197,11199,11201,11203,11205],{"class":1052,"line":6807},[1050,11174,4386],{"class":1542},[1050,11176,1297],{"class":1296},[1050,11178,9069],{"class":1377},[1050,11180,1349],{"class":1296},[1050,11182,6981],{"class":1377},[1050,11184,1297],{"class":1296},[1050,11186,6684],{"class":1548},[1050,11188,1393],{"class":1296},[1050,11190,5792],{"class":1341},[1050,11192,10785],{"class":1667},[1050,11194,4549],{"class":4548},[1050,11196,5800],{"class":1377},[1050,11198,5803],{"class":3998},[1050,11200,5806],{"class":1389},[1050,11202,4563],{"class":4548},[1050,11204,1664],{"class":1667},[1050,11206,1405],{"class":1296},[1030,11208,11210],{"id":11209},"production-fixture-management","Production Fixture Management",[1035,11212,11214],{"id":11213},"initial-data-setup","Initial Data Setup",[1040,11216,11218],{"className":1042,"code":11217,"language":1044,"meta":1045,"style":1045},"# management/commands/setup_initial_data.py\nfrom django.core.management.base import BaseCommand\nfrom django.core.management import call_command\nfrom django.contrib.auth.models import User, Group, Permission\nfrom django.contrib.contenttypes.models import ContentType\nfrom blog.models import Category, Tag\n\nclass Command(BaseCommand):\n    \"\"\"Set up initial data for production deployment\"\"\"\n    \n    help = 'Set up initial data for production'\n    \n    def add_arguments(self, parser):\n        parser.add_argument('--admin-email', type=str, required=True)\n        parser.add_argument('--admin-password', type=str, required=True)\n        parser.add_argument('--skip-fixtures', action='store_true')\n    \n    def handle(self, *args, **options):\n        self.stdout.write('Setting up initial data...')\n        \n        # Create superuser\n        self.create_superuser(options['admin_email'], options['admin_password'])\n        \n        # Create user groups and permissions\n        self.create_user_groups()\n        \n        # Load initial fixtures if not skipped\n        if not options['skip_fixtures']:\n            self.load_initial_fixtures()\n        \n        self.stdout.write(\n            self.style.SUCCESS('Initial data setup completed successfully')\n        )\n    \n    def create_superuser(self, email, password):\n        \"\"\"Create superuser if it doesn't exist\"\"\"\n        \n        if not User.objects.filter(is_superuser=True).exists():\n            User.objects.create_superuser(\n                username='admin',\n                email=email,\n                password=password\n            )\n            self.stdout.write('Created superuser account')\n        else:\n            self.stdout.write('Superuser already exists')\n    \n    def create_user_groups(self):\n        \"\"\"Create user groups with appropriate permissions\"\"\"\n        \n        # Create Editor group\n        editor_group, created = Group.objects.get_or_create(name='Editors')\n        if created:\n            # Add permissions for editors\n            content_type = ContentType.objects.get_for_model(Post)\n            permissions = Permission.objects.filter(\n                content_type=content_type,\n                codename__in=['add_post', 'change_post', 'view_post']\n            )\n            editor_group.permissions.set(permissions)\n            self.stdout.write('Created Editors group')\n        \n        # Create Author group\n        author_group, created = Group.objects.get_or_create(name='Authors')\n        if created:\n            # Add limited permissions for authors\n            permissions = Permission.objects.filter(\n                content_type=content_type,\n                codename__in=['add_post', 'view_post']\n            )\n            author_group.permissions.set(permissions)\n            self.stdout.write('Created Authors group')\n    \n    def load_initial_fixtures(self):\n        \"\"\"Load initial fixture data\"\"\"\n        \n        fixtures = [\n            'initial_categories.json',\n            'initial_tags.json',\n        ]\n        \n        for fixture in fixtures:\n            try:\n                call_command('loaddata', fixture)\n                self.stdout.write(f'Loaded fixture: {fixture}')\n            except Exception as e:\n                self.stdout.write(f'Error loading {fixture}: {e}')\n\n# Fixture validation\nclass FixtureValidator:\n    \"\"\"Validate fixture data before loading\"\"\"\n    \n    @staticmethod\n    def validate_fixture_file(fixture_path):\n        \"\"\"Validate fixture file format and content\"\"\"\n        \n        import json\n        import os\n        \n        if not os.path.exists(fixture_path):\n            return False, f\"Fixture file not found: {fixture_path}\"\n        \n        try:\n            with open(fixture_path, 'r') as f:\n                data = json.load(f)\n            \n            if not isinstance(data, list):\n                return False, \"Fixture must be a list of objects\"\n            \n            # Validate each object\n            for i, obj in enumerate(data):\n                if not isinstance(obj, dict):\n                    return False, f\"Object {i} is not a dictionary\"\n                \n                required_fields = ['model', 'fields']\n                for field in required_fields:\n                    if field not in obj:\n                        return False, f\"Object {i} missing required field: {field}\"\n            \n            return True, \"Fixture is valid\"\n            \n        except json.JSONDecodeError as e:\n            return False, f\"Invalid JSON: {e}\"\n        except Exception as e:\n            return False, f\"Validation error: {e}\"\n    \n    @staticmethod\n    def validate_fixture_dependencies(fixture_data):\n        \"\"\"Validate that fixture dependencies exist\"\"\"\n        \n        # Check for foreign key references\n        dependencies = {}\n        \n        for obj in fixture_data:\n            model = obj['model']\n            pk = obj.get('pk')\n            \n            if pk:\n                if model not in dependencies:\n                    dependencies[model] = set()\n                dependencies[model].add(pk)\n        \n        # Validate references\n        errors = []\n        for obj in fixture_data:\n            fields = obj['fields']\n            \n            for field_name, field_value in fields.items():\n                # Check if this looks like a foreign key reference\n                if isinstance(field_value, int) and field_value > 0:\n                    # This is a simplified check - in practice, you'd need\n                    # to inspect the model to determine actual foreign keys\n                    pass\n        \n        return len(errors) == 0, errors\n\n# Fixture backup and restore\nclass FixtureBackupManager:\n    \"\"\"Manage fixture backups for data recovery\"\"\"\n    \n    @staticmethod\n    def create_backup(app_label=None):\n        \"\"\"Create backup of current data\"\"\"\n        \n        import os\n        from datetime import datetime\n        from django.core.management import call_command\n        \n        timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')\n        backup_dir = f'backups/fixtures_{timestamp}'\n        os.makedirs(backup_dir, exist_ok=True)\n        \n        if app_label:\n            # Backup specific app\n            backup_file = os.path.join(backup_dir, f'{app_label}_backup.json')\n            with open(backup_file, 'w') as f:\n                call_command('dumpdata', app_label, stdout=f, indent=2)\n        else:\n            # Backup all data\n            backup_file = os.path.join(backup_dir, 'full_backup.json')\n            with open(backup_file, 'w') as f:\n                call_command('dumpdata', stdout=f, indent=2, \n                           exclude=['contenttypes', 'auth.permission'])\n        \n        return backup_file\n    \n    @staticmethod\n    def restore_backup(backup_file):\n        \"\"\"Restore data from backup\"\"\"\n        \n        from django.core.management import call_command\n        \n        # Validate backup file\n        is_valid, message = FixtureValidator.validate_fixture_file(backup_file)\n        if not is_valid:\n            raise ValueError(f\"Invalid backup file: {message}\")\n        \n        # Load backup\n        call_command('loaddata', backup_file)\n        \n        return True\n    \n    @staticmethod\n    def list_backups():\n        \"\"\"List available backups\"\"\"\n        \n        import os\n        import glob\n        \n        backup_pattern = 'backups/fixtures_*/**.json'\n        backup_files = glob.glob(backup_pattern)\n        \n        backups = []\n        for backup_file in backup_files:\n            stat = os.stat(backup_file)\n            backups.append({\n                'file': backup_file,\n                'size': stat.st_size,\n                'created': stat.st_mtime,\n            })\n        \n        return sorted(backups, key=lambda x: x['created'], reverse=True)\n",[1047,11219,11220,11225,11247,11267,11299,11323,11342,11346,11358,11367,11371,11384,11388,11404,11440,11475,11506,11510,11534,11557,11561,11566,11603,11607,11612,11623,11627,11632,11651,11662,11666,11680,11703,11707,11711,11734,11743,11747,11777,11791,11805,11815,11825,11829,11852,11859,11882,11886,11899,11908,11912,11917,11953,11961,11966,11991,12011,12023,12058,12062,12082,12105,12109,12114,12150,12158,12163,12181,12191,12213,12217,12236,12259,12263,12276,12285,12289,12298,12309,12320,12324,12328,12342,12349,12370,12401,12416,12455,12459,12464,12473,12482,12486,12492,12506,12515,12519,12526,12532,12536,12558,12581,12585,12592,12620,12641,12645,12666,12682,12686,12691,12713,12734,12757,12762,12787,12802,12819,12850,12854,12869,12873,12891,12912,12924,12945,12949,12955,12969,12978,12982,12987,12997,13001,13014,13033,13056,13060,13069,13085,13103,13124,13128,13133,13142,13154,13173,13177,13201,13206,13236,13241,13246,13251,13255,13278,13282,13287,13296,13305,13309,13315,13332,13341,13345,13351,13363,13381,13385,13421,13442,13465,13469,13478,13483,13521,13548,13584,13590,13595,13626,13652,13684,13708,13712,13719,13723,13729,13742,13751,13755,13773,13777,13782,13807,13818,13844,13848,13853,13873,13877,13884,13888,13894,13903,13912,13916,13922,13929,13933,13947,13969,13973,13982,13996,14016,14027,14042,14063,14083,14087,14091],{"__ignoreMap":1045},[1050,11221,11222],{"class":1052,"line":1053},[1050,11223,11224],{"class":1056},"# management/commands/setup_initial_data.py\n",[1050,11226,11227,11229,11231,11233,11235,11237,11239,11241,11243,11245],{"class":1052,"line":1060},[1050,11228,1289],{"class":1288},[1050,11230,1293],{"class":1292},[1050,11232,1297],{"class":1296},[1050,11234,4024],{"class":1292},[1050,11236,1297],{"class":1296},[1050,11238,4029],{"class":1292},[1050,11240,1297],{"class":1296},[1050,11242,4034],{"class":1292},[1050,11244,1303],{"class":1288},[1050,11246,4039],{"class":1292},[1050,11248,11249,11251,11253,11255,11257,11259,11262,11264],{"class":1052,"line":1066},[1050,11250,1289],{"class":1288},[1050,11252,1293],{"class":1292},[1050,11254,1297],{"class":1296},[1050,11256,4024],{"class":1292},[1050,11258,1297],{"class":1296},[1050,11260,11261],{"class":1292},"management ",[1050,11263,1303],{"class":1288},[1050,11265,11266],{"class":1292}," call_command\n",[1050,11268,11269,11271,11273,11275,11277,11279,11281,11283,11285,11287,11289,11291,11294,11296],{"class":1052,"line":1072},[1050,11270,1289],{"class":1288},[1050,11272,1293],{"class":1292},[1050,11274,1297],{"class":1296},[1050,11276,1317],{"class":1292},[1050,11278,1297],{"class":1296},[1050,11280,1322],{"class":1292},[1050,11282,1297],{"class":1296},[1050,11284,1327],{"class":1292},[1050,11286,1303],{"class":1288},[1050,11288,5825],{"class":1292},[1050,11290,1393],{"class":1296},[1050,11292,11293],{"class":1292}," Group",[1050,11295,1393],{"class":1296},[1050,11297,11298],{"class":1292}," Permission\n",[1050,11300,11301,11303,11305,11307,11309,11311,11314,11316,11318,11320],{"class":1052,"line":1079},[1050,11302,1289],{"class":1288},[1050,11304,1293],{"class":1292},[1050,11306,1297],{"class":1296},[1050,11308,1317],{"class":1292},[1050,11310,1297],{"class":1296},[1050,11312,11313],{"class":1292},"contenttypes",[1050,11315,1297],{"class":1296},[1050,11317,1327],{"class":1292},[1050,11319,1303],{"class":1288},[1050,11321,11322],{"class":1292}," ContentType\n",[1050,11324,11325,11327,11329,11331,11333,11335,11337,11339],{"class":1052,"line":1085},[1050,11326,1289],{"class":1288},[1050,11328,4068],{"class":1292},[1050,11330,1297],{"class":1296},[1050,11332,1327],{"class":1292},[1050,11334,1303],{"class":1288},[1050,11336,1346],{"class":1292},[1050,11338,1393],{"class":1296},[1050,11340,11341],{"class":1292}," Tag\n",[1050,11343,11344],{"class":1052,"line":1092},[1050,11345,1076],{"emptyLinePlaceholder":1075},[1050,11347,11348,11350,11352,11354,11356],{"class":1052,"line":1099},[1050,11349,1342],{"class":1341},[1050,11351,4119],{"class":1345},[1050,11353,1349],{"class":1296},[1050,11355,4124],{"class":1352},[1050,11357,1361],{"class":1296},[1050,11359,11360,11362,11365],{"class":1052,"line":1105},[1050,11361,4131],{"class":1088},[1050,11363,11364],{"class":1095},"Set up initial data for production deployment",[1050,11366,1089],{"class":1088},[1050,11368,11369],{"class":1052,"line":1111},[1050,11370,1517],{"class":1292},[1050,11372,11373,11375,11377,11379,11382],{"class":1052,"line":1117},[1050,11374,4145],{"class":1525},[1050,11376,1727],{"class":1296},[1050,11378,1747],{"class":1663},[1050,11380,11381],{"class":1667},"Set up initial data for production",[1050,11383,4155],{"class":1663},[1050,11385,11386],{"class":1052,"line":1123},[1050,11387,1517],{"class":1292},[1050,11389,11390,11392,11394,11396,11398,11400,11402],{"class":1052,"line":1129},[1050,11391,1522],{"class":1341},[1050,11393,4167],{"class":4166},[1050,11395,1349],{"class":1296},[1050,11397,1532],{"class":1531},[1050,11399,1393],{"class":1296},[1050,11401,4177],{"class":4176},[1050,11403,1361],{"class":1296},[1050,11405,11406,11408,11410,11412,11414,11416,11419,11421,11423,11425,11427,11429,11431,11434,11436,11438],{"class":1052,"line":1135},[1050,11407,4184],{"class":1292},[1050,11409,1297],{"class":1296},[1050,11411,4189],{"class":1377},[1050,11413,1349],{"class":1296},[1050,11415,1664],{"class":1663},[1050,11417,11418],{"class":1667},"--admin-email",[1050,11420,1664],{"class":1663},[1050,11422,1393],{"class":1296},[1050,11424,4203],{"class":1383},[1050,11426,1369],{"class":1296},[1050,11428,9285],{"class":2244},[1050,11430,1393],{"class":1296},[1050,11432,11433],{"class":1383}," required",[1050,11435,1369],{"class":1296},[1050,11437,1402],{"class":1401},[1050,11439,1405],{"class":1296},[1050,11441,11442,11444,11446,11448,11450,11452,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473],{"class":1052,"line":1141},[1050,11443,4184],{"class":1292},[1050,11445,1297],{"class":1296},[1050,11447,4189],{"class":1377},[1050,11449,1349],{"class":1296},[1050,11451,1664],{"class":1663},[1050,11453,11454],{"class":1667},"--admin-password",[1050,11456,1664],{"class":1663},[1050,11458,1393],{"class":1296},[1050,11460,4203],{"class":1383},[1050,11462,1369],{"class":1296},[1050,11464,9285],{"class":2244},[1050,11466,1393],{"class":1296},[1050,11468,11433],{"class":1383},[1050,11470,1369],{"class":1296},[1050,11472,1402],{"class":1401},[1050,11474,1405],{"class":1296},[1050,11476,11477,11479,11481,11483,11485,11487,11490,11492,11494,11496,11498,11500,11502,11504],{"class":1052,"line":1147},[1050,11478,4184],{"class":1292},[1050,11480,1297],{"class":1296},[1050,11482,4189],{"class":1377},[1050,11484,1349],{"class":1296},[1050,11486,1664],{"class":1663},[1050,11488,11489],{"class":1667},"--skip-fixtures",[1050,11491,1664],{"class":1663},[1050,11493,1393],{"class":1296},[1050,11495,4303],{"class":1383},[1050,11497,1369],{"class":1296},[1050,11499,1664],{"class":1663},[1050,11501,4310],{"class":1667},[1050,11503,1664],{"class":1663},[1050,11505,1405],{"class":1296},[1050,11507,11508],{"class":1052,"line":1153},[1050,11509,1517],{"class":1292},[1050,11511,11512,11514,11516,11518,11520,11522,11524,11526,11528,11530,11532],{"class":1052,"line":1158},[1050,11513,1522],{"class":1341},[1050,11515,4338],{"class":4166},[1050,11517,1349],{"class":1296},[1050,11519,1532],{"class":1531},[1050,11521,1393],{"class":1296},[1050,11523,4347],{"class":3998},[1050,11525,4350],{"class":4176},[1050,11527,1393],{"class":1296},[1050,11529,4355],{"class":3998},[1050,11531,4358],{"class":4176},[1050,11533,1361],{"class":1296},[1050,11535,11536,11538,11540,11542,11544,11546,11548,11550,11553,11555],{"class":1052,"line":1164},[1050,11537,4529],{"class":1542},[1050,11539,1297],{"class":1296},[1050,11541,4391],{"class":1548},[1050,11543,1297],{"class":1296},[1050,11545,4396],{"class":1377},[1050,11547,1349],{"class":1296},[1050,11549,1664],{"class":1663},[1050,11551,11552],{"class":1667},"Setting up initial data...",[1050,11554,1664],{"class":1663},[1050,11556,1405],{"class":1296},[1050,11558,11559],{"class":1052,"line":1169},[1050,11560,4503],{"class":1292},[1050,11562,11563],{"class":1052,"line":1174},[1050,11564,11565],{"class":1056},"        # Create superuser\n",[1050,11567,11568,11570,11572,11575,11577,11579,11581,11583,11586,11588,11590,11592,11594,11596,11599,11601],{"class":1052,"line":1180},[1050,11569,4529],{"class":1542},[1050,11571,1297],{"class":1296},[1050,11573,11574],{"class":1377},"create_superuser",[1050,11576,1349],{"class":1296},[1050,11578,4358],{"class":1377},[1050,11580,4371],{"class":1296},[1050,11582,1664],{"class":1663},[1050,11584,11585],{"class":1667},"admin_email",[1050,11587,1664],{"class":1663},[1050,11589,4742],{"class":1296},[1050,11591,4368],{"class":1377},[1050,11593,4371],{"class":1296},[1050,11595,1664],{"class":1663},[1050,11597,11598],{"class":1667},"admin_password",[1050,11600,1664],{"class":1663},[1050,11602,4668],{"class":1296},[1050,11604,11605],{"class":1052,"line":1186},[1050,11606,4503],{"class":1292},[1050,11608,11609],{"class":1052,"line":1192},[1050,11610,11611],{"class":1056},"        # Create user groups and permissions\n",[1050,11613,11614,11616,11618,11621],{"class":1052,"line":1198},[1050,11615,4529],{"class":1542},[1050,11617,1297],{"class":1296},[1050,11619,11620],{"class":1377},"create_user_groups",[1050,11622,1878],{"class":1296},[1050,11624,11625],{"class":1052,"line":1204},[1050,11626,4503],{"class":1292},[1050,11628,11629],{"class":1052,"line":1210},[1050,11630,11631],{"class":1056},"        # Load initial fixtures if not skipped\n",[1050,11633,11634,11636,11638,11640,11642,11644,11647,11649],{"class":1052,"line":1216},[1050,11635,4365],{"class":1288},[1050,11637,10492],{"class":3998},[1050,11639,4368],{"class":1292},[1050,11641,4371],{"class":1296},[1050,11643,1664],{"class":1663},[1050,11645,11646],{"class":1667},"skip_fixtures",[1050,11648,1664],{"class":1663},[1050,11650,4381],{"class":1296},[1050,11652,11653,11655,11657,11660],{"class":1052,"line":1221},[1050,11654,4386],{"class":1542},[1050,11656,1297],{"class":1296},[1050,11658,11659],{"class":1377},"load_initial_fixtures",[1050,11661,1878],{"class":1296},[1050,11663,11664],{"class":1052,"line":1227},[1050,11665,4503],{"class":1292},[1050,11667,11668,11670,11672,11674,11676,11678],{"class":1052,"line":1233},[1050,11669,4529],{"class":1542},[1050,11671,1297],{"class":1296},[1050,11673,4391],{"class":1548},[1050,11675,1297],{"class":1296},[1050,11677,4396],{"class":1377},[1050,11679,4811],{"class":1296},[1050,11681,11682,11684,11686,11688,11690,11692,11694,11696,11699,11701],{"class":1052,"line":1238},[1050,11683,4386],{"class":1542},[1050,11685,1297],{"class":1296},[1050,11687,4820],{"class":1548},[1050,11689,1297],{"class":1296},[1050,11691,4825],{"class":1377},[1050,11693,1349],{"class":1296},[1050,11695,1664],{"class":1663},[1050,11697,11698],{"class":1667},"Initial data setup completed successfully",[1050,11700,1664],{"class":1663},[1050,11702,1405],{"class":1296},[1050,11704,11705],{"class":1052,"line":1243},[1050,11706,4841],{"class":1296},[1050,11708,11709],{"class":1052,"line":1249},[1050,11710,1517],{"class":1292},[1050,11712,11713,11715,11718,11720,11722,11724,11727,11729,11732],{"class":1052,"line":1255},[1050,11714,1522],{"class":1341},[1050,11716,11717],{"class":4166}," create_superuser",[1050,11719,1349],{"class":1296},[1050,11721,1532],{"class":1531},[1050,11723,1393],{"class":1296},[1050,11725,11726],{"class":4176}," email",[1050,11728,1393],{"class":1296},[1050,11730,11731],{"class":4176}," password",[1050,11733,1361],{"class":1296},[1050,11735,11736,11738,11741],{"class":1052,"line":1260},[1050,11737,4863],{"class":1088},[1050,11739,11740],{"class":1095},"Create superuser if it doesn't exist",[1050,11742,1089],{"class":1088},[1050,11744,11745],{"class":1052,"line":1266},[1050,11746,4503],{"class":1292},[1050,11748,11749,11751,11753,11755,11757,11759,11761,11763,11765,11767,11769,11771,11773,11775],{"class":1052,"line":2051},[1050,11750,4365],{"class":1288},[1050,11752,10492],{"class":3998},[1050,11754,5825],{"class":1292},[1050,11756,1297],{"class":1296},[1050,11758,4417],{"class":1548},[1050,11760,1297],{"class":1296},[1050,11762,4444],{"class":1377},[1050,11764,1349],{"class":1296},[1050,11766,3275],{"class":1383},[1050,11768,1369],{"class":1296},[1050,11770,1402],{"class":1401},[1050,11772,4456],{"class":1296},[1050,11774,6577],{"class":1377},[1050,11776,6580],{"class":1296},[1050,11778,11779,11781,11783,11785,11787,11789],{"class":1052,"line":2074},[1050,11780,4435],{"class":1292},[1050,11782,1297],{"class":1296},[1050,11784,4417],{"class":1548},[1050,11786,1297],{"class":1296},[1050,11788,11574],{"class":1377},[1050,11790,4811],{"class":1296},[1050,11792,11793,11795,11797,11799,11801,11803],{"class":1052,"line":2107},[1050,11794,5841],{"class":1383},[1050,11796,1369],{"class":1296},[1050,11798,1664],{"class":1663},[1050,11800,3176],{"class":1667},[1050,11802,1664],{"class":1663},[1050,11804,2206],{"class":1296},[1050,11806,11807,11809,11811,11813],{"class":1052,"line":2112},[1050,11808,10550],{"class":1383},[1050,11810,1369],{"class":1296},[1050,11812,3226],{"class":1377},[1050,11814,2206],{"class":1296},[1050,11816,11817,11820,11822],{"class":1052,"line":2125},[1050,11818,11819],{"class":1383},"                password",[1050,11821,1369],{"class":1296},[1050,11823,11824],{"class":1377},"password\n",[1050,11826,11827],{"class":1052,"line":2137},[1050,11828,5175],{"class":1296},[1050,11830,11831,11833,11835,11837,11839,11841,11843,11845,11848,11850],{"class":1052,"line":2142},[1050,11832,4386],{"class":1542},[1050,11834,1297],{"class":1296},[1050,11836,4391],{"class":1548},[1050,11838,1297],{"class":1296},[1050,11840,4396],{"class":1377},[1050,11842,1349],{"class":1296},[1050,11844,1664],{"class":1663},[1050,11846,11847],{"class":1667},"Created superuser account",[1050,11849,1664],{"class":1663},[1050,11851,1405],{"class":1296},[1050,11853,11854,11857],{"class":1052,"line":2148},[1050,11855,11856],{"class":1288},"        else",[1050,11858,3591],{"class":1296},[1050,11860,11861,11863,11865,11867,11869,11871,11873,11875,11878,11880],{"class":1052,"line":3954},[1050,11862,4386],{"class":1542},[1050,11864,1297],{"class":1296},[1050,11866,4391],{"class":1548},[1050,11868,1297],{"class":1296},[1050,11870,4396],{"class":1377},[1050,11872,1349],{"class":1296},[1050,11874,1664],{"class":1663},[1050,11876,11877],{"class":1667},"Superuser already exists",[1050,11879,1664],{"class":1663},[1050,11881,1405],{"class":1296},[1050,11883,11884],{"class":1052,"line":3967},[1050,11885,1517],{"class":1292},[1050,11887,11888,11890,11893,11895,11897],{"class":1052,"line":3977},[1050,11889,1522],{"class":1341},[1050,11891,11892],{"class":4166}," create_user_groups",[1050,11894,1349],{"class":1296},[1050,11896,1532],{"class":1531},[1050,11898,1361],{"class":1296},[1050,11900,11901,11903,11906],{"class":1052,"line":3991},[1050,11902,4863],{"class":1088},[1050,11904,11905],{"class":1095},"Create user groups with appropriate permissions",[1050,11907,1089],{"class":1088},[1050,11909,11910],{"class":1052,"line":4884},[1050,11911,4503],{"class":1292},[1050,11913,11914],{"class":1052,"line":4915},[1050,11915,11916],{"class":1056},"        # Create Editor group\n",[1050,11918,11919,11922,11924,11926,11928,11930,11932,11934,11936,11938,11940,11942,11944,11946,11949,11951],{"class":1052,"line":4945},[1050,11920,11921],{"class":1292},"        editor_group",[1050,11923,1393],{"class":1296},[1050,11925,5095],{"class":1292},[1050,11927,1369],{"class":1296},[1050,11929,11293],{"class":1292},[1050,11931,1297],{"class":1296},[1050,11933,4417],{"class":1548},[1050,11935,1297],{"class":1296},[1050,11937,5108],{"class":1377},[1050,11939,1349],{"class":1296},[1050,11941,2245],{"class":1383},[1050,11943,1369],{"class":1296},[1050,11945,1664],{"class":1663},[1050,11947,11948],{"class":1667},"Editors",[1050,11950,1664],{"class":1663},[1050,11952,1405],{"class":1296},[1050,11954,11955,11957,11959],{"class":1052,"line":4975},[1050,11956,4365],{"class":1288},[1050,11958,5962],{"class":1292},[1050,11960,3591],{"class":1296},[1050,11962,11963],{"class":1052,"line":5007},[1050,11964,11965],{"class":1056},"            # Add permissions for editors\n",[1050,11967,11968,11971,11973,11976,11978,11980,11982,11985,11987,11989],{"class":1052,"line":5039},[1050,11969,11970],{"class":1292},"            content_type ",[1050,11972,1369],{"class":1296},[1050,11974,11975],{"class":1292}," ContentType",[1050,11977,1297],{"class":1296},[1050,11979,4417],{"class":1548},[1050,11981,1297],{"class":1296},[1050,11983,11984],{"class":1377},"get_for_model",[1050,11986,1349],{"class":1296},[1050,11988,8152],{"class":1377},[1050,11990,1405],{"class":1296},[1050,11992,11993,11996,11998,12001,12003,12005,12007,12009],{"class":1052,"line":5045},[1050,11994,11995],{"class":1292},"            permissions ",[1050,11997,1369],{"class":1296},[1050,11999,12000],{"class":1292}," Permission",[1050,12002,1297],{"class":1296},[1050,12004,4417],{"class":1548},[1050,12006,1297],{"class":1296},[1050,12008,4444],{"class":1377},[1050,12010,4811],{"class":1296},[1050,12012,12013,12016,12018,12021],{"class":1052,"line":5050},[1050,12014,12015],{"class":1383},"                content_type",[1050,12017,1369],{"class":1296},[1050,12019,12020],{"class":1377},"content_type",[1050,12022,2206],{"class":1296},[1050,12024,12025,12028,12031,12033,12036,12038,12040,12042,12045,12047,12049,12051,12054,12056],{"class":1052,"line":5060},[1050,12026,12027],{"class":1383},"                codename__in",[1050,12029,12030],{"class":1296},"=[",[1050,12032,1664],{"class":1663},[1050,12034,12035],{"class":1667},"add_post",[1050,12037,1664],{"class":1663},[1050,12039,1393],{"class":1296},[1050,12041,1747],{"class":1663},[1050,12043,12044],{"class":1667},"change_post",[1050,12046,1664],{"class":1663},[1050,12048,1393],{"class":1296},[1050,12050,1747],{"class":1663},[1050,12052,12053],{"class":1667},"view_post",[1050,12055,1664],{"class":1663},[1050,12057,1230],{"class":1296},[1050,12059,12060],{"class":1052,"line":5087},[1050,12061,5175],{"class":1296},[1050,12063,12064,12067,12069,12072,12074,12076,12078,12080],{"class":1052,"line":5113},[1050,12065,12066],{"class":1292},"            editor_group",[1050,12068,1297],{"class":1296},[1050,12070,12071],{"class":1548},"permissions",[1050,12073,1297],{"class":1296},[1050,12075,6954],{"class":1377},[1050,12077,1349],{"class":1296},[1050,12079,12071],{"class":1377},[1050,12081,1405],{"class":1296},[1050,12083,12084,12086,12088,12090,12092,12094,12096,12098,12101,12103],{"class":1052,"line":5125},[1050,12085,4386],{"class":1542},[1050,12087,1297],{"class":1296},[1050,12089,4391],{"class":1548},[1050,12091,1297],{"class":1296},[1050,12093,4396],{"class":1377},[1050,12095,1349],{"class":1296},[1050,12097,1664],{"class":1663},[1050,12099,12100],{"class":1667},"Created Editors group",[1050,12102,1664],{"class":1663},[1050,12104,1405],{"class":1296},[1050,12106,12107],{"class":1052,"line":5134},[1050,12108,4503],{"class":1292},[1050,12110,12111],{"class":1052,"line":5150},[1050,12112,12113],{"class":1056},"        # Create Author group\n",[1050,12115,12116,12119,12121,12123,12125,12127,12129,12131,12133,12135,12137,12139,12141,12143,12146,12148],{"class":1052,"line":5166},[1050,12117,12118],{"class":1292},"        author_group",[1050,12120,1393],{"class":1296},[1050,12122,5095],{"class":1292},[1050,12124,1369],{"class":1296},[1050,12126,11293],{"class":1292},[1050,12128,1297],{"class":1296},[1050,12130,4417],{"class":1548},[1050,12132,1297],{"class":1296},[1050,12134,5108],{"class":1377},[1050,12136,1349],{"class":1296},[1050,12138,2245],{"class":1383},[1050,12140,1369],{"class":1296},[1050,12142,1664],{"class":1663},[1050,12144,12145],{"class":1667},"Authors",[1050,12147,1664],{"class":1663},[1050,12149,1405],{"class":1296},[1050,12151,12152,12154,12156],{"class":1052,"line":5172},[1050,12153,4365],{"class":1288},[1050,12155,5962],{"class":1292},[1050,12157,3591],{"class":1296},[1050,12159,12160],{"class":1052,"line":5178},[1050,12161,12162],{"class":1056},"            # Add limited permissions for authors\n",[1050,12164,12165,12167,12169,12171,12173,12175,12177,12179],{"class":1052,"line":5196},[1050,12166,11995],{"class":1292},[1050,12168,1369],{"class":1296},[1050,12170,12000],{"class":1292},[1050,12172,1297],{"class":1296},[1050,12174,4417],{"class":1548},[1050,12176,1297],{"class":1296},[1050,12178,4444],{"class":1377},[1050,12180,4811],{"class":1296},[1050,12182,12183,12185,12187,12189],{"class":1052,"line":5201},[1050,12184,12015],{"class":1383},[1050,12186,1369],{"class":1296},[1050,12188,12020],{"class":1377},[1050,12190,2206],{"class":1296},[1050,12192,12193,12195,12197,12199,12201,12203,12205,12207,12209,12211],{"class":1052,"line":5209},[1050,12194,12027],{"class":1383},[1050,12196,12030],{"class":1296},[1050,12198,1664],{"class":1663},[1050,12200,12035],{"class":1667},[1050,12202,1664],{"class":1663},[1050,12204,1393],{"class":1296},[1050,12206,1747],{"class":1663},[1050,12208,12053],{"class":1667},[1050,12210,1664],{"class":1663},[1050,12212,1230],{"class":1296},[1050,12214,12215],{"class":1052,"line":5214},[1050,12216,5175],{"class":1296},[1050,12218,12219,12222,12224,12226,12228,12230,12232,12234],{"class":1052,"line":5228},[1050,12220,12221],{"class":1292},"            author_group",[1050,12223,1297],{"class":1296},[1050,12225,12071],{"class":1548},[1050,12227,1297],{"class":1296},[1050,12229,6954],{"class":1377},[1050,12231,1349],{"class":1296},[1050,12233,12071],{"class":1377},[1050,12235,1405],{"class":1296},[1050,12237,12238,12240,12242,12244,12246,12248,12250,12252,12255,12257],{"class":1052,"line":5238},[1050,12239,4386],{"class":1542},[1050,12241,1297],{"class":1296},[1050,12243,4391],{"class":1548},[1050,12245,1297],{"class":1296},[1050,12247,4396],{"class":1377},[1050,12249,1349],{"class":1296},[1050,12251,1664],{"class":1663},[1050,12253,12254],{"class":1667},"Created Authors group",[1050,12256,1664],{"class":1663},[1050,12258,1405],{"class":1296},[1050,12260,12261],{"class":1052,"line":5243},[1050,12262,1517],{"class":1292},[1050,12264,12265,12267,12270,12272,12274],{"class":1052,"line":5253},[1050,12266,1522],{"class":1341},[1050,12268,12269],{"class":4166}," load_initial_fixtures",[1050,12271,1349],{"class":1296},[1050,12273,1532],{"class":1531},[1050,12275,1361],{"class":1296},[1050,12277,12278,12280,12283],{"class":1052,"line":5282},[1050,12279,4863],{"class":1088},[1050,12281,12282],{"class":1095},"Load initial fixture data",[1050,12284,1089],{"class":1088},[1050,12286,12287],{"class":1052,"line":5311},[1050,12288,4503],{"class":1292},[1050,12290,12291,12294,12296],{"class":1052,"line":5340},[1050,12292,12293],{"class":1292},"        fixtures ",[1050,12295,1369],{"class":1296},[1050,12297,1730],{"class":1296},[1050,12299,12300,12302,12305,12307],{"class":1052,"line":5369},[1050,12301,6271],{"class":1663},[1050,12303,12304],{"class":1667},"initial_categories.json",[1050,12306,1664],{"class":1663},[1050,12308,2206],{"class":1296},[1050,12310,12311,12313,12316,12318],{"class":1052,"line":5401},[1050,12312,6271],{"class":1663},[1050,12314,12315],{"class":1667},"initial_tags.json",[1050,12317,1664],{"class":1663},[1050,12319,2206],{"class":1296},[1050,12321,12322],{"class":1052,"line":5433},[1050,12323,5042],{"class":1296},[1050,12325,12326],{"class":1052,"line":5465},[1050,12327,4503],{"class":1292},[1050,12329,12330,12332,12335,12337,12340],{"class":1052,"line":5497},[1050,12331,5063],{"class":1288},[1050,12333,12334],{"class":1292}," fixture ",[1050,12336,5079],{"class":1288},[1050,12338,12339],{"class":1292}," fixtures",[1050,12341,3591],{"class":1296},[1050,12343,12344,12347],{"class":1052,"line":5529},[1050,12345,12346],{"class":1288},"            try",[1050,12348,3591],{"class":1296},[1050,12350,12351,12354,12356,12358,12361,12363,12365,12368],{"class":1052,"line":5561},[1050,12352,12353],{"class":1377},"                call_command",[1050,12355,1349],{"class":1296},[1050,12357,1664],{"class":1663},[1050,12359,12360],{"class":1667},"loaddata",[1050,12362,1664],{"class":1663},[1050,12364,1393],{"class":1296},[1050,12366,12367],{"class":1377}," fixture",[1050,12369,1405],{"class":1296},[1050,12371,12372,12375,12377,12379,12381,12383,12385,12387,12390,12392,12395,12397,12399],{"class":1052,"line":5566},[1050,12373,12374],{"class":1542},"                self",[1050,12376,1297],{"class":1296},[1050,12378,4391],{"class":1548},[1050,12380,1297],{"class":1296},[1050,12382,4396],{"class":1377},[1050,12384,1349],{"class":1296},[1050,12386,4542],{"class":1341},[1050,12388,12389],{"class":1667},"'Loaded fixture: ",[1050,12391,4549],{"class":4548},[1050,12393,12394],{"class":1377},"fixture",[1050,12396,4563],{"class":4548},[1050,12398,1664],{"class":1667},[1050,12400,1405],{"class":1296},[1050,12402,12403,12406,12409,12411,12414],{"class":1052,"line":5571},[1050,12404,12405],{"class":1288},"            except",[1050,12407,12408],{"class":2244}," Exception",[1050,12410,7874],{"class":1288},[1050,12412,12413],{"class":1292}," e",[1050,12415,3591],{"class":1296},[1050,12417,12418,12420,12422,12424,12426,12428,12430,12432,12435,12437,12439,12441,12444,12446,12449,12451,12453],{"class":1052,"line":5580},[1050,12419,12374],{"class":1542},[1050,12421,1297],{"class":1296},[1050,12423,4391],{"class":1548},[1050,12425,1297],{"class":1296},[1050,12427,4396],{"class":1377},[1050,12429,1349],{"class":1296},[1050,12431,4542],{"class":1341},[1050,12433,12434],{"class":1667},"'Error loading ",[1050,12436,4549],{"class":4548},[1050,12438,12394],{"class":1377},[1050,12440,4563],{"class":4548},[1050,12442,12443],{"class":1667},": ",[1050,12445,4549],{"class":4548},[1050,12447,12448],{"class":1377},"e",[1050,12450,4563],{"class":4548},[1050,12452,1664],{"class":1667},[1050,12454,1405],{"class":1296},[1050,12456,12457],{"class":1052,"line":5603},[1050,12458,1076],{"emptyLinePlaceholder":1075},[1050,12460,12461],{"class":1052,"line":5627},[1050,12462,12463],{"class":1056},"# Fixture validation\n",[1050,12465,12466,12468,12471],{"class":1052,"line":5638},[1050,12467,1342],{"class":1341},[1050,12469,12470],{"class":1345}," FixtureValidator",[1050,12472,3591],{"class":1296},[1050,12474,12475,12477,12480],{"class":1052,"line":5645},[1050,12476,4131],{"class":1088},[1050,12478,12479],{"class":1095},"Validate fixture data before loading",[1050,12481,1089],{"class":1088},[1050,12483,12484],{"class":1052,"line":5660},[1050,12485,1517],{"class":1292},[1050,12487,12488,12490],{"class":1052,"line":5676},[1050,12489,7527],{"class":1296},[1050,12491,7530],{"class":2244},[1050,12493,12494,12496,12499,12501,12504],{"class":1052,"line":5681},[1050,12495,1522],{"class":1341},[1050,12497,12498],{"class":4166}," validate_fixture_file",[1050,12500,1349],{"class":1296},[1050,12502,12503],{"class":4176},"fixture_path",[1050,12505,1361],{"class":1296},[1050,12507,12508,12510,12513],{"class":1052,"line":5686},[1050,12509,4863],{"class":1088},[1050,12511,12512],{"class":1095},"Validate fixture file format and content",[1050,12514,1089],{"class":1088},[1050,12516,12517],{"class":1052,"line":5703},[1050,12518,4503],{"class":1292},[1050,12520,12521,12523],{"class":1052,"line":5708},[1050,12522,7603],{"class":1288},[1050,12524,12525],{"class":1292}," json\n",[1050,12527,12528,12530],{"class":1052,"line":5716},[1050,12529,7603],{"class":1288},[1050,12531,7606],{"class":1292},[1050,12533,12534],{"class":1052,"line":5721},[1050,12535,4503],{"class":1292},[1050,12537,12538,12540,12542,12544,12546,12548,12550,12552,12554,12556],{"class":1052,"line":5740},[1050,12539,4365],{"class":1288},[1050,12541,10492],{"class":3998},[1050,12543,7738],{"class":1292},[1050,12545,1297],{"class":1296},[1050,12547,7743],{"class":1548},[1050,12549,1297],{"class":1296},[1050,12551,6577],{"class":1377},[1050,12553,1349],{"class":1296},[1050,12555,12503],{"class":1377},[1050,12557,1361],{"class":1296},[1050,12559,12560,12563,12566,12568,12570,12573,12575,12577,12579],{"class":1052,"line":5750},[1050,12561,12562],{"class":1288},"            return",[1050,12564,12565],{"class":1401}," False",[1050,12567,1393],{"class":1296},[1050,12569,5792],{"class":1341},[1050,12571,12572],{"class":1667},"\"Fixture file not found: ",[1050,12574,4549],{"class":4548},[1050,12576,12503],{"class":1292},[1050,12578,4563],{"class":4548},[1050,12580,2333],{"class":1667},[1050,12582,12583],{"class":1052,"line":5755},[1050,12584,4503],{"class":1292},[1050,12586,12587,12590],{"class":1052,"line":5764},[1050,12588,12589],{"class":1288},"        try",[1050,12591,3591],{"class":1296},[1050,12593,12594,12597,12599,12601,12603,12605,12607,12610,12612,12614,12616,12618],{"class":1052,"line":5784},[1050,12595,12596],{"class":1288},"            with",[1050,12598,7855],{"class":1525},[1050,12600,1349],{"class":1296},[1050,12602,12503],{"class":1377},[1050,12604,1393],{"class":1296},[1050,12606,1747],{"class":1663},[1050,12608,12609],{"class":1667},"r",[1050,12611,1664],{"class":1663},[1050,12613,4560],{"class":1296},[1050,12615,7874],{"class":1288},[1050,12617,5792],{"class":1292},[1050,12619,3591],{"class":1296},[1050,12621,12622,12625,12627,12630,12632,12635,12637,12639],{"class":1052,"line":5813},[1050,12623,12624],{"class":1292},"                data ",[1050,12626,1369],{"class":1296},[1050,12628,12629],{"class":1292}," json",[1050,12631,1297],{"class":1296},[1050,12633,12634],{"class":1377},"load",[1050,12636,1349],{"class":1296},[1050,12638,4542],{"class":1377},[1050,12640,1405],{"class":1296},[1050,12642,12643],{"class":1052,"line":5838},[1050,12644,6004],{"class":1292},[1050,12646,12647,12649,12651,12654,12656,12659,12661,12664],{"class":1052,"line":5850},[1050,12648,5959],{"class":1288},[1050,12650,10492],{"class":3998},[1050,12652,12653],{"class":1525}," isinstance",[1050,12655,1349],{"class":1296},[1050,12657,12658],{"class":1377},"data",[1050,12660,1393],{"class":1296},[1050,12662,12663],{"class":2244}," list",[1050,12665,1361],{"class":1296},[1050,12667,12668,12671,12673,12675,12677,12680],{"class":1052,"line":5857},[1050,12669,12670],{"class":1288},"                return",[1050,12672,12565],{"class":1401},[1050,12674,1393],{"class":1296},[1050,12676,2198],{"class":1663},[1050,12678,12679],{"class":1667},"Fixture must be a list of objects",[1050,12681,2333],{"class":1663},[1050,12683,12684],{"class":1052,"line":5875},[1050,12685,6004],{"class":1292},[1050,12687,12688],{"class":1052,"line":5904},[1050,12689,12690],{"class":1056},"            # Validate each object\n",[1050,12692,12693,12696,12698,12700,12703,12705,12707,12709,12711],{"class":1052,"line":5930},[1050,12694,12695],{"class":1288},"            for",[1050,12697,11155],{"class":1292},[1050,12699,1393],{"class":1296},[1050,12701,12702],{"class":1292}," obj ",[1050,12704,5079],{"class":1288},[1050,12706,11164],{"class":1525},[1050,12708,1349],{"class":1296},[1050,12710,12658],{"class":1377},[1050,12712,1361],{"class":1296},[1050,12714,12715,12718,12720,12722,12724,12727,12729,12732],{"class":1052,"line":5946},[1050,12716,12717],{"class":1288},"                if",[1050,12719,10492],{"class":3998},[1050,12721,12653],{"class":1525},[1050,12723,1349],{"class":1296},[1050,12725,12726],{"class":1377},"obj",[1050,12728,1393],{"class":1296},[1050,12730,12731],{"class":2244}," dict",[1050,12733,1361],{"class":1296},[1050,12735,12736,12739,12741,12743,12745,12748,12750,12752,12754],{"class":1052,"line":5951},[1050,12737,12738],{"class":1288},"                    return",[1050,12740,12565],{"class":1401},[1050,12742,1393],{"class":1296},[1050,12744,5792],{"class":1341},[1050,12746,12747],{"class":1667},"\"Object ",[1050,12749,4549],{"class":4548},[1050,12751,5800],{"class":1292},[1050,12753,4563],{"class":4548},[1050,12755,12756],{"class":1667}," is not a dictionary\"\n",[1050,12758,12759],{"class":1052,"line":5956},[1050,12760,12761],{"class":1292},"                \n",[1050,12763,12764,12767,12769,12771,12773,12775,12777,12779,12781,12783,12785],{"class":1052,"line":5967},[1050,12765,12766],{"class":1292},"                required_fields ",[1050,12768,1369],{"class":1296},[1050,12770,8881],{"class":1296},[1050,12772,1664],{"class":1663},[1050,12774,2189],{"class":1667},[1050,12776,1664],{"class":1663},[1050,12778,1393],{"class":1296},[1050,12780,1747],{"class":1663},[1050,12782,2229],{"class":1667},[1050,12784,1664],{"class":1663},[1050,12786,1230],{"class":1296},[1050,12788,12789,12792,12795,12797,12800],{"class":1052,"line":5989},[1050,12790,12791],{"class":1288},"                for",[1050,12793,12794],{"class":1292}," field ",[1050,12796,5079],{"class":1288},[1050,12798,12799],{"class":1292}," required_fields",[1050,12801,3591],{"class":1296},[1050,12803,12804,12807,12809,12812,12814,12817],{"class":1052,"line":6001},[1050,12805,12806],{"class":1288},"                    if",[1050,12808,12794],{"class":1292},[1050,12810,12811],{"class":3998},"not",[1050,12813,10495],{"class":3998},[1050,12815,12816],{"class":1292}," obj",[1050,12818,3591],{"class":1296},[1050,12820,12821,12824,12826,12828,12830,12832,12834,12836,12838,12841,12843,12846,12848],{"class":1052,"line":6007},[1050,12822,12823],{"class":1288},"                        return",[1050,12825,12565],{"class":1401},[1050,12827,1393],{"class":1296},[1050,12829,5792],{"class":1341},[1050,12831,12747],{"class":1667},[1050,12833,4549],{"class":4548},[1050,12835,5800],{"class":1292},[1050,12837,4563],{"class":4548},[1050,12839,12840],{"class":1667}," missing required field: ",[1050,12842,4549],{"class":4548},[1050,12844,12845],{"class":1292},"field",[1050,12847,4563],{"class":4548},[1050,12849,2333],{"class":1667},[1050,12851,12852],{"class":1052,"line":6024},[1050,12853,6004],{"class":1292},[1050,12855,12856,12858,12860,12862,12864,12867],{"class":1052,"line":6029},[1050,12857,12562],{"class":1288},[1050,12859,5941],{"class":1401},[1050,12861,1393],{"class":1296},[1050,12863,2198],{"class":1663},[1050,12865,12866],{"class":1667},"Fixture is valid",[1050,12868,2333],{"class":1663},[1050,12870,12871],{"class":1052,"line":6037},[1050,12872,6004],{"class":1292},[1050,12874,12875,12878,12880,12882,12885,12887,12889],{"class":1052,"line":6042},[1050,12876,12877],{"class":1288},"        except",[1050,12879,12629],{"class":1292},[1050,12881,1297],{"class":1296},[1050,12883,12884],{"class":1548},"JSONDecodeError",[1050,12886,7874],{"class":1288},[1050,12888,12413],{"class":1292},[1050,12890,3591],{"class":1296},[1050,12892,12893,12895,12897,12899,12901,12904,12906,12908,12910],{"class":1052,"line":6072},[1050,12894,12562],{"class":1288},[1050,12896,12565],{"class":1401},[1050,12898,1393],{"class":1296},[1050,12900,5792],{"class":1341},[1050,12902,12903],{"class":1667},"\"Invalid JSON: ",[1050,12905,4549],{"class":4548},[1050,12907,12448],{"class":1292},[1050,12909,4563],{"class":4548},[1050,12911,2333],{"class":1667},[1050,12913,12914,12916,12918,12920,12922],{"class":1052,"line":6082},[1050,12915,12877],{"class":1288},[1050,12917,12408],{"class":2244},[1050,12919,7874],{"class":1288},[1050,12921,12413],{"class":1292},[1050,12923,3591],{"class":1296},[1050,12925,12926,12928,12930,12932,12934,12937,12939,12941,12943],{"class":1052,"line":6087},[1050,12927,12562],{"class":1288},[1050,12929,12565],{"class":1401},[1050,12931,1393],{"class":1296},[1050,12933,5792],{"class":1341},[1050,12935,12936],{"class":1667},"\"Validation error: ",[1050,12938,4549],{"class":4548},[1050,12940,12448],{"class":1292},[1050,12942,4563],{"class":4548},[1050,12944,2333],{"class":1667},[1050,12946,12947],{"class":1052,"line":6097},[1050,12948,1517],{"class":1292},[1050,12950,12951,12953],{"class":1052,"line":6113},[1050,12952,7527],{"class":1296},[1050,12954,7530],{"class":2244},[1050,12956,12957,12959,12962,12964,12967],{"class":1052,"line":6130},[1050,12958,1522],{"class":1341},[1050,12960,12961],{"class":4166}," validate_fixture_dependencies",[1050,12963,1349],{"class":1296},[1050,12965,12966],{"class":4176},"fixture_data",[1050,12968,1361],{"class":1296},[1050,12970,12971,12973,12976],{"class":1052,"line":6144},[1050,12972,4863],{"class":1088},[1050,12974,12975],{"class":1095},"Validate that fixture dependencies exist",[1050,12977,1089],{"class":1088},[1050,12979,12980],{"class":1052,"line":6158},[1050,12981,4503],{"class":1292},[1050,12983,12984],{"class":1052,"line":6172},[1050,12985,12986],{"class":1056},"        # Check for foreign key references\n",[1050,12988,12989,12992,12994],{"class":1052,"line":6189},[1050,12990,12991],{"class":1292},"        dependencies ",[1050,12993,1369],{"class":1296},[1050,12995,12996],{"class":1296}," {}\n",[1050,12998,12999],{"class":1052,"line":6203},[1050,13000,4503],{"class":1292},[1050,13002,13003,13005,13007,13009,13012],{"class":1052,"line":6217},[1050,13004,5063],{"class":1288},[1050,13006,12702],{"class":1292},[1050,13008,5079],{"class":1288},[1050,13010,13011],{"class":1292}," fixture_data",[1050,13013,3591],{"class":1296},[1050,13015,13016,13019,13021,13023,13025,13027,13029,13031],{"class":1052,"line":6234},[1050,13017,13018],{"class":1292},"            model ",[1050,13020,1369],{"class":1296},[1050,13022,12816],{"class":1292},[1050,13024,4371],{"class":1296},[1050,13026,1664],{"class":1663},[1050,13028,2189],{"class":1667},[1050,13030,1664],{"class":1663},[1050,13032,1230],{"class":1296},[1050,13034,13035,13038,13040,13042,13044,13046,13048,13050,13052,13054],{"class":1052,"line":6248},[1050,13036,13037],{"class":1292},"            pk ",[1050,13039,1369],{"class":1296},[1050,13041,12816],{"class":1292},[1050,13043,1297],{"class":1296},[1050,13045,8952],{"class":1377},[1050,13047,1349],{"class":1296},[1050,13049,1664],{"class":1663},[1050,13051,2213],{"class":1667},[1050,13053,1664],{"class":1663},[1050,13055,1405],{"class":1296},[1050,13057,13058],{"class":1052,"line":6253},[1050,13059,6004],{"class":1292},[1050,13061,13062,13064,13067],{"class":1052,"line":6258},[1050,13063,5959],{"class":1288},[1050,13065,13066],{"class":1292}," pk",[1050,13068,3591],{"class":1296},[1050,13070,13071,13073,13076,13078,13080,13083],{"class":1052,"line":6268},[1050,13072,12717],{"class":1288},[1050,13074,13075],{"class":1292}," model ",[1050,13077,12811],{"class":3998},[1050,13079,10495],{"class":3998},[1050,13081,13082],{"class":1292}," dependencies",[1050,13084,3591],{"class":1296},[1050,13086,13087,13090,13092,13094,13096,13098,13101],{"class":1052,"line":6312},[1050,13088,13089],{"class":1292},"                    dependencies",[1050,13091,4371],{"class":1296},[1050,13093,2189],{"class":1292},[1050,13095,10516],{"class":1296},[1050,13097,1727],{"class":1296},[1050,13099,13100],{"class":2244}," set",[1050,13102,1878],{"class":1296},[1050,13104,13105,13108,13110,13112,13115,13118,13120,13122],{"class":1052,"line":6353},[1050,13106,13107],{"class":1292},"                dependencies",[1050,13109,4371],{"class":1296},[1050,13111,2189],{"class":1292},[1050,13113,13114],{"class":1296},"].",[1050,13116,13117],{"class":1377},"add",[1050,13119,1349],{"class":1296},[1050,13121,2213],{"class":1377},[1050,13123,1405],{"class":1296},[1050,13125,13126],{"class":1052,"line":6358},[1050,13127,4503],{"class":1292},[1050,13129,13130],{"class":1052,"line":6363},[1050,13131,13132],{"class":1056},"        # Validate references\n",[1050,13134,13135,13138,13140],{"class":1052,"line":6372},[1050,13136,13137],{"class":1292},"        errors ",[1050,13139,1369],{"class":1296},[1050,13141,5057],{"class":1296},[1050,13143,13144,13146,13148,13150,13152],{"class":1052,"line":6389},[1050,13145,5063],{"class":1288},[1050,13147,12702],{"class":1292},[1050,13149,5079],{"class":1288},[1050,13151,13011],{"class":1292},[1050,13153,3591],{"class":1296},[1050,13155,13156,13159,13161,13163,13165,13167,13169,13171],{"class":1052,"line":6412},[1050,13157,13158],{"class":1292},"            fields ",[1050,13160,1369],{"class":1296},[1050,13162,12816],{"class":1292},[1050,13164,4371],{"class":1296},[1050,13166,1664],{"class":1663},[1050,13168,2229],{"class":1667},[1050,13170,1664],{"class":1663},[1050,13172,1230],{"class":1296},[1050,13174,13175],{"class":1052,"line":6433},[1050,13176,6004],{"class":1292},[1050,13178,13179,13181,13184,13186,13189,13191,13194,13196,13199],{"class":1052,"line":6460},[1050,13180,12695],{"class":1288},[1050,13182,13183],{"class":1292}," field_name",[1050,13185,1393],{"class":1296},[1050,13187,13188],{"class":1292}," field_value ",[1050,13190,5079],{"class":1288},[1050,13192,13193],{"class":1292}," fields",[1050,13195,1297],{"class":1296},[1050,13197,13198],{"class":1377},"items",[1050,13200,6580],{"class":1296},[1050,13202,13203],{"class":1052,"line":6465},[1050,13204,13205],{"class":1056},"                # Check if this looks like a foreign key reference\n",[1050,13207,13208,13210,13212,13214,13217,13219,13222,13224,13227,13229,13232,13234],{"class":1052,"line":6519},[1050,13209,12717],{"class":1288},[1050,13211,12653],{"class":1525},[1050,13213,1349],{"class":1296},[1050,13215,13216],{"class":1377},"field_value",[1050,13218,1393],{"class":1296},[1050,13220,13221],{"class":2244}," int",[1050,13223,4560],{"class":1296},[1050,13225,13226],{"class":3998}," and",[1050,13228,13188],{"class":1292},[1050,13230,13231],{"class":3998},">",[1050,13233,10102],{"class":1389},[1050,13235,3591],{"class":1296},[1050,13237,13238],{"class":1052,"line":6524},[1050,13239,13240],{"class":1056},"                    # This is a simplified check - in practice, you'd need\n",[1050,13242,13243],{"class":1052,"line":6530},[1050,13244,13245],{"class":1056},"                    # to inspect the model to determine actual foreign keys\n",[1050,13247,13248],{"class":1052,"line":6541},[1050,13249,13250],{"class":1288},"                    pass\n",[1050,13252,13253],{"class":1052,"line":6551},[1050,13254,4503],{"class":1292},[1050,13256,13257,13259,13262,13264,13267,13269,13271,13273,13275],{"class":1052,"line":6583},[1050,13258,1539],{"class":1288},[1050,13260,13261],{"class":1525}," len",[1050,13263,1349],{"class":1296},[1050,13265,13266],{"class":1377},"errors",[1050,13268,4560],{"class":1296},[1050,13270,10099],{"class":3998},[1050,13272,10102],{"class":1389},[1050,13274,1393],{"class":1296},[1050,13276,13277],{"class":1292}," errors\n",[1050,13279,13280],{"class":1052,"line":6613},[1050,13281,1076],{"emptyLinePlaceholder":1075},[1050,13283,13284],{"class":1052,"line":6624},[1050,13285,13286],{"class":1056},"# Fixture backup and restore\n",[1050,13288,13289,13291,13294],{"class":1052,"line":6629},[1050,13290,1342],{"class":1341},[1050,13292,13293],{"class":1345}," FixtureBackupManager",[1050,13295,3591],{"class":1296},[1050,13297,13298,13300,13303],{"class":1052,"line":6650},[1050,13299,4131],{"class":1088},[1050,13301,13302],{"class":1095},"Manage fixture backups for data recovery",[1050,13304,1089],{"class":1088},[1050,13306,13307],{"class":1052,"line":6655},[1050,13308,1517],{"class":1292},[1050,13310,13311,13313],{"class":1052,"line":6676},[1050,13312,7527],{"class":1296},[1050,13314,7530],{"class":2244},[1050,13316,13317,13319,13322,13324,13326,13328,13330],{"class":1052,"line":6689},[1050,13318,1522],{"class":1341},[1050,13320,13321],{"class":4166}," create_backup",[1050,13323,1349],{"class":1296},[1050,13325,7693],{"class":4176},[1050,13327,1369],{"class":3998},[1050,13329,7553],{"class":1401},[1050,13331,1361],{"class":1296},[1050,13333,13334,13336,13339],{"class":1052,"line":6700},[1050,13335,4863],{"class":1088},[1050,13337,13338],{"class":1095},"Create backup of current data",[1050,13340,1089],{"class":1088},[1050,13342,13343],{"class":1052,"line":6713},[1050,13344,4503],{"class":1292},[1050,13346,13347,13349],{"class":1052,"line":6734},[1050,13348,7603],{"class":1288},[1050,13350,7606],{"class":1292},[1050,13352,13353,13355,13358,13360],{"class":1052,"line":6754},[1050,13354,7585],{"class":1288},[1050,13356,13357],{"class":1292}," datetime ",[1050,13359,1303],{"class":1288},[1050,13361,13362],{"class":1292}," datetime\n",[1050,13364,13365,13367,13369,13371,13373,13375,13377,13379],{"class":1052,"line":6807},[1050,13366,7585],{"class":1288},[1050,13368,1293],{"class":1292},[1050,13370,1297],{"class":1296},[1050,13372,4024],{"class":1292},[1050,13374,1297],{"class":1296},[1050,13376,11261],{"class":1292},[1050,13378,1303],{"class":1288},[1050,13380,11266],{"class":1292},[1050,13382,13383],{"class":1052,"line":6833},[1050,13384,4503],{"class":1292},[1050,13386,13387,13390,13392,13395,13397,13399,13401,13404,13406,13408,13411,13414,13417,13419],{"class":1052,"line":6888},[1050,13388,13389],{"class":1292},"        timestamp ",[1050,13391,1369],{"class":1296},[1050,13393,13394],{"class":1292}," datetime",[1050,13396,1297],{"class":1296},[1050,13398,6846],{"class":1377},[1050,13400,4425],{"class":1296},[1050,13402,13403],{"class":1377},"strftime",[1050,13405,1349],{"class":1296},[1050,13407,1664],{"class":1663},[1050,13409,13410],{"class":1667},"%Y%m",[1050,13412,13413],{"class":4548},"%d",[1050,13415,13416],{"class":1667},"_%H%M%S",[1050,13418,1664],{"class":1663},[1050,13420,1405],{"class":1296},[1050,13422,13423,13426,13428,13430,13433,13435,13438,13440],{"class":1052,"line":6893},[1050,13424,13425],{"class":1292},"        backup_dir ",[1050,13427,1369],{"class":1296},[1050,13429,5792],{"class":1341},[1050,13431,13432],{"class":1667},"'backups/fixtures_",[1050,13434,4549],{"class":4548},[1050,13436,13437],{"class":1292},"timestamp",[1050,13439,4563],{"class":4548},[1050,13441,4155],{"class":1667},[1050,13443,13444,13446,13448,13450,13452,13455,13457,13459,13461,13463],{"class":1052,"line":6898},[1050,13445,7781],{"class":1292},[1050,13447,1297],{"class":1296},[1050,13449,7786],{"class":1377},[1050,13451,1349],{"class":1296},[1050,13453,13454],{"class":1377},"backup_dir",[1050,13456,1393],{"class":1296},[1050,13458,7796],{"class":1383},[1050,13460,1369],{"class":1296},[1050,13462,1402],{"class":1401},[1050,13464,1405],{"class":1296},[1050,13466,13467],{"class":1052,"line":6904},[1050,13468,4503],{"class":1292},[1050,13470,13471,13473,13476],{"class":1052,"line":6942},[1050,13472,4365],{"class":1288},[1050,13474,13475],{"class":1292}," app_label",[1050,13477,3591],{"class":1296},[1050,13479,13480],{"class":1052,"line":6964},[1050,13481,13482],{"class":1056},"            # Backup specific app\n",[1050,13484,13485,13488,13490,13492,13494,13496,13498,13500,13502,13504,13506,13508,13510,13512,13514,13516,13519],{"class":1052,"line":6969},[1050,13486,13487],{"class":1292},"            backup_file ",[1050,13489,1369],{"class":1296},[1050,13491,7738],{"class":1292},[1050,13493,1297],{"class":1296},[1050,13495,7743],{"class":1548},[1050,13497,1297],{"class":1296},[1050,13499,7748],{"class":1377},[1050,13501,1349],{"class":1296},[1050,13503,13454],{"class":1377},[1050,13505,1393],{"class":1296},[1050,13507,5792],{"class":1341},[1050,13509,1664],{"class":1667},[1050,13511,4549],{"class":4548},[1050,13513,7693],{"class":1377},[1050,13515,4563],{"class":4548},[1050,13517,13518],{"class":1667},"_backup.json'",[1050,13520,1405],{"class":1296},[1050,13522,13523,13525,13527,13529,13532,13534,13536,13538,13540,13542,13544,13546],{"class":1052,"line":6986},[1050,13524,12596],{"class":1288},[1050,13526,7855],{"class":1525},[1050,13528,1349],{"class":1296},[1050,13530,13531],{"class":1377},"backup_file",[1050,13533,1393],{"class":1296},[1050,13535,1747],{"class":1663},[1050,13537,7867],{"class":1667},[1050,13539,1664],{"class":1663},[1050,13541,4560],{"class":1296},[1050,13543,7874],{"class":1288},[1050,13545,5792],{"class":1292},[1050,13547,3591],{"class":1296},[1050,13549,13550,13552,13554,13556,13559,13561,13563,13565,13567,13570,13572,13574,13576,13578,13580,13582],{"class":1052,"line":6991},[1050,13551,12353],{"class":1377},[1050,13553,1349],{"class":1296},[1050,13555,1664],{"class":1663},[1050,13557,13558],{"class":1667},"dumpdata",[1050,13560,1664],{"class":1663},[1050,13562,1393],{"class":1296},[1050,13564,13475],{"class":1377},[1050,13566,1393],{"class":1296},[1050,13568,13569],{"class":1383}," stdout",[1050,13571,1369],{"class":1296},[1050,13573,4542],{"class":1377},[1050,13575,1393],{"class":1296},[1050,13577,7906],{"class":1383},[1050,13579,1369],{"class":1296},[1050,13581,7911],{"class":1389},[1050,13583,1405],{"class":1296},[1050,13585,13586,13588],{"class":1052,"line":6999},[1050,13587,11856],{"class":1288},[1050,13589,3591],{"class":1296},[1050,13591,13592],{"class":1052,"line":7004},[1050,13593,13594],{"class":1056},"            # Backup all data\n",[1050,13596,13597,13599,13601,13603,13605,13607,13609,13611,13613,13615,13617,13619,13622,13624],{"class":1052,"line":7023},[1050,13598,13487],{"class":1292},[1050,13600,1369],{"class":1296},[1050,13602,7738],{"class":1292},[1050,13604,1297],{"class":1296},[1050,13606,7743],{"class":1548},[1050,13608,1297],{"class":1296},[1050,13610,7748],{"class":1377},[1050,13612,1349],{"class":1296},[1050,13614,13454],{"class":1377},[1050,13616,1393],{"class":1296},[1050,13618,1747],{"class":1663},[1050,13620,13621],{"class":1667},"full_backup.json",[1050,13623,1664],{"class":1663},[1050,13625,1405],{"class":1296},[1050,13627,13628,13630,13632,13634,13636,13638,13640,13642,13644,13646,13648,13650],{"class":1052,"line":7033},[1050,13629,12596],{"class":1288},[1050,13631,7855],{"class":1525},[1050,13633,1349],{"class":1296},[1050,13635,13531],{"class":1377},[1050,13637,1393],{"class":1296},[1050,13639,1747],{"class":1663},[1050,13641,7867],{"class":1667},[1050,13643,1664],{"class":1663},[1050,13645,4560],{"class":1296},[1050,13647,7874],{"class":1288},[1050,13649,5792],{"class":1292},[1050,13651,3591],{"class":1296},[1050,13653,13654,13656,13658,13660,13662,13664,13666,13668,13670,13672,13674,13676,13678,13680,13682],{"class":1052,"line":7038},[1050,13655,12353],{"class":1377},[1050,13657,1349],{"class":1296},[1050,13659,1664],{"class":1663},[1050,13661,13558],{"class":1667},[1050,13663,1664],{"class":1663},[1050,13665,1393],{"class":1296},[1050,13667,13569],{"class":1383},[1050,13669,1369],{"class":1296},[1050,13671,4542],{"class":1377},[1050,13673,1393],{"class":1296},[1050,13675,7906],{"class":1383},[1050,13677,1369],{"class":1296},[1050,13679,7911],{"class":1389},[1050,13681,1393],{"class":1296},[1050,13683,8582],{"class":1377},[1050,13685,13686,13689,13691,13693,13695,13697,13699,13701,13704,13706],{"class":1052,"line":7048},[1050,13687,13688],{"class":1383},"                           exclude",[1050,13690,12030],{"class":1296},[1050,13692,1664],{"class":1663},[1050,13694,11313],{"class":1667},[1050,13696,1664],{"class":1663},[1050,13698,1393],{"class":1296},[1050,13700,1747],{"class":1663},[1050,13702,13703],{"class":1667},"auth.permission",[1050,13705,1664],{"class":1663},[1050,13707,4668],{"class":1296},[1050,13709,13710],{"class":1052,"line":7056},[1050,13711,4503],{"class":1292},[1050,13713,13714,13716],{"class":1052,"line":7069},[1050,13715,1539],{"class":1288},[1050,13717,13718],{"class":1292}," backup_file\n",[1050,13720,13721],{"class":1052,"line":7075},[1050,13722,1517],{"class":1292},[1050,13724,13725,13727],{"class":1052,"line":7080},[1050,13726,7527],{"class":1296},[1050,13728,7530],{"class":2244},[1050,13730,13731,13733,13736,13738,13740],{"class":1052,"line":7086},[1050,13732,1522],{"class":1341},[1050,13734,13735],{"class":4166}," restore_backup",[1050,13737,1349],{"class":1296},[1050,13739,13531],{"class":4176},[1050,13741,1361],{"class":1296},[1050,13743,13744,13746,13749],{"class":1052,"line":7091},[1050,13745,4863],{"class":1088},[1050,13747,13748],{"class":1095},"Restore data from backup",[1050,13750,1089],{"class":1088},[1050,13752,13753],{"class":1052,"line":7106},[1050,13754,4503],{"class":1292},[1050,13756,13757,13759,13761,13763,13765,13767,13769,13771],{"class":1052,"line":7112},[1050,13758,7585],{"class":1288},[1050,13760,1293],{"class":1292},[1050,13762,1297],{"class":1296},[1050,13764,4024],{"class":1292},[1050,13766,1297],{"class":1296},[1050,13768,11261],{"class":1292},[1050,13770,1303],{"class":1288},[1050,13772,11266],{"class":1292},[1050,13774,13775],{"class":1052,"line":7117},[1050,13776,4503],{"class":1292},[1050,13778,13779],{"class":1052,"line":7123},[1050,13780,13781],{"class":1056},"        # Validate backup file\n",[1050,13783,13784,13787,13789,13792,13794,13796,13798,13801,13803,13805],{"class":1052,"line":7128},[1050,13785,13786],{"class":1292},"        is_valid",[1050,13788,1393],{"class":1296},[1050,13790,13791],{"class":1292}," message ",[1050,13793,1369],{"class":1296},[1050,13795,12470],{"class":1292},[1050,13797,1297],{"class":1296},[1050,13799,13800],{"class":1377},"validate_fixture_file",[1050,13802,1349],{"class":1296},[1050,13804,13531],{"class":1377},[1050,13806,1405],{"class":1296},[1050,13808,13809,13811,13813,13816],{"class":1052,"line":7143},[1050,13810,4365],{"class":1288},[1050,13812,10492],{"class":3998},[1050,13814,13815],{"class":1292}," is_valid",[1050,13817,3591],{"class":1296},[1050,13819,13820,13823,13826,13828,13830,13833,13835,13838,13840,13842],{"class":1052,"line":7148},[1050,13821,13822],{"class":1288},"            raise",[1050,13824,13825],{"class":2244}," ValueError",[1050,13827,1349],{"class":1296},[1050,13829,4542],{"class":1341},[1050,13831,13832],{"class":1667},"\"Invalid backup file: ",[1050,13834,4549],{"class":4548},[1050,13836,13837],{"class":1377},"message",[1050,13839,4563],{"class":4548},[1050,13841,2192],{"class":1667},[1050,13843,1405],{"class":1296},[1050,13845,13846],{"class":1052,"line":7154},[1050,13847,4503],{"class":1292},[1050,13849,13850],{"class":1052,"line":7160},[1050,13851,13852],{"class":1056},"        # Load backup\n",[1050,13854,13855,13858,13860,13862,13864,13866,13868,13871],{"class":1052,"line":7166},[1050,13856,13857],{"class":1377},"        call_command",[1050,13859,1349],{"class":1296},[1050,13861,1664],{"class":1663},[1050,13863,12360],{"class":1667},[1050,13865,1664],{"class":1663},[1050,13867,1393],{"class":1296},[1050,13869,13870],{"class":1377}," backup_file",[1050,13872,1405],{"class":1296},[1050,13874,13875],{"class":1052,"line":7172},[1050,13876,4503],{"class":1292},[1050,13878,13879,13881],{"class":1052,"line":7177},[1050,13880,1539],{"class":1288},[1050,13882,13883],{"class":1401}," True\n",[1050,13885,13886],{"class":1052,"line":7183},[1050,13887,1517],{"class":1292},[1050,13889,13890,13892],{"class":1052,"line":7188},[1050,13891,7527],{"class":1296},[1050,13893,7530],{"class":2244},[1050,13895,13896,13898,13901],{"class":1052,"line":7203},[1050,13897,1522],{"class":1341},[1050,13899,13900],{"class":4166}," list_backups",[1050,13902,6580],{"class":1296},[1050,13904,13905,13907,13910],{"class":1052,"line":7209},[1050,13906,4863],{"class":1088},[1050,13908,13909],{"class":1095},"List available backups",[1050,13911,1089],{"class":1088},[1050,13913,13914],{"class":1052,"line":7214},[1050,13915,4503],{"class":1292},[1050,13917,13918,13920],{"class":1052,"line":7220},[1050,13919,7603],{"class":1288},[1050,13921,7606],{"class":1292},[1050,13923,13924,13926],{"class":1052,"line":7225},[1050,13925,7603],{"class":1288},[1050,13927,13928],{"class":1292}," glob\n",[1050,13930,13931],{"class":1052,"line":7237},[1050,13932,4503],{"class":1292},[1050,13934,13935,13938,13940,13942,13945],{"class":1052,"line":7243},[1050,13936,13937],{"class":1292},"        backup_pattern ",[1050,13939,1369],{"class":1296},[1050,13941,1747],{"class":1663},[1050,13943,13944],{"class":1667},"backups/fixtures_*/**.json",[1050,13946,4155],{"class":1663},[1050,13948,13949,13952,13954,13957,13959,13962,13964,13967],{"class":1052,"line":7251},[1050,13950,13951],{"class":1292},"        backup_files ",[1050,13953,1369],{"class":1296},[1050,13955,13956],{"class":1292}," glob",[1050,13958,1297],{"class":1296},[1050,13960,13961],{"class":1377},"glob",[1050,13963,1349],{"class":1296},[1050,13965,13966],{"class":1377},"backup_pattern",[1050,13968,1405],{"class":1296},[1050,13970,13971],{"class":1052,"line":7256},[1050,13972,4503],{"class":1292},[1050,13974,13975,13978,13980],{"class":1052,"line":7263},[1050,13976,13977],{"class":1292},"        backups ",[1050,13979,1369],{"class":1296},[1050,13981,5057],{"class":1296},[1050,13983,13984,13986,13989,13991,13994],{"class":1052,"line":7278},[1050,13985,5063],{"class":1288},[1050,13987,13988],{"class":1292}," backup_file ",[1050,13990,5079],{"class":1288},[1050,13992,13993],{"class":1292}," backup_files",[1050,13995,3591],{"class":1296},[1050,13997,13998,14001,14003,14005,14007,14010,14012,14014],{"class":1052,"line":7284},[1050,13999,14000],{"class":1292},"            stat ",[1050,14002,1369],{"class":1296},[1050,14004,7738],{"class":1292},[1050,14006,1297],{"class":1296},[1050,14008,14009],{"class":1377},"stat",[1050,14011,1349],{"class":1296},[1050,14013,13531],{"class":1377},[1050,14015,1405],{"class":1296},[1050,14017,14018,14021,14023,14025],{"class":1052,"line":7289},[1050,14019,14020],{"class":1292},"            backups",[1050,14022,1297],{"class":1296},[1050,14024,5186],{"class":1377},[1050,14026,10769],{"class":1296},[1050,14028,14029,14031,14034,14036,14038,14040],{"class":1052,"line":7295},[1050,14030,10774],{"class":1663},[1050,14032,14033],{"class":1667},"file",[1050,14035,1664],{"class":1663},[1050,14037,2195],{"class":1296},[1050,14039,13870],{"class":1377},[1050,14041,2206],{"class":1296},[1050,14043,14044,14046,14049,14051,14053,14056,14058,14061],{"class":1052,"line":7300},[1050,14045,10774],{"class":1663},[1050,14047,14048],{"class":1667},"size",[1050,14050,1664],{"class":1663},[1050,14052,2195],{"class":1296},[1050,14054,14055],{"class":1377}," stat",[1050,14057,1297],{"class":1296},[1050,14059,14060],{"class":1548},"st_size",[1050,14062,2206],{"class":1296},[1050,14064,14065,14067,14070,14072,14074,14076,14078,14081],{"class":1052,"line":7315},[1050,14066,10774],{"class":1663},[1050,14068,14069],{"class":1667},"created",[1050,14071,1664],{"class":1663},[1050,14073,2195],{"class":1296},[1050,14075,14055],{"class":1377},[1050,14077,1297],{"class":1296},[1050,14079,14080],{"class":1548},"st_mtime",[1050,14082,2206],{"class":1296},[1050,14084,14085],{"class":1052,"line":7321},[1050,14086,10833],{"class":1296},[1050,14088,14089],{"class":1052,"line":7326},[1050,14090,4503],{"class":1292},[1050,14092,14093,14095,14098,14100,14103,14105,14108,14110,14113,14116,14118,14120,14122,14124,14126,14128,14130,14133,14135,14137],{"class":1052,"line":7332},[1050,14094,1539],{"class":1288},[1050,14096,14097],{"class":1525}," sorted",[1050,14099,1349],{"class":1296},[1050,14101,14102],{"class":1377},"backups",[1050,14104,1393],{"class":1296},[1050,14106,14107],{"class":1383}," key",[1050,14109,1369],{"class":1296},[1050,14111,14112],{"class":1341},"lambda",[1050,14114,14115],{"class":4176}," x",[1050,14117,2195],{"class":1296},[1050,14119,14115],{"class":1377},[1050,14121,4371],{"class":1296},[1050,14123,1664],{"class":1663},[1050,14125,14069],{"class":1667},[1050,14127,1664],{"class":1663},[1050,14129,4742],{"class":1296},[1050,14131,14132],{"class":1383}," reverse",[1050,14134,1369],{"class":1296},[1050,14136,1402],{"class":1401},[1050,14138,1405],{"class":1296},[1026,14140,14141],{},"Fixtures provide a powerful way to manage test data, initial application setup, and data migration scenarios. By understanding how to create, validate, and manage fixtures effectively, you can ensure consistent data across different environments and streamline your development and testing workflows.",[4820,14143,14144],{},"html pre.shiki code .s9Tkl, html code.shiki .s9Tkl{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#A0ADA0;--shiki-default-font-style:inherit;--shiki-dark:#758575DD;--shiki-dark-font-style:inherit}html pre.shiki code .sm7ve, html code.shiki .sm7ve{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#B5695977;--shiki-default-font-style:inherit;--shiki-dark:#C98A7D77;--shiki-dark-font-style:inherit}html pre.shiki code .sVyVU, html code.shiki .sVyVU{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#B56959;--shiki-default-font-style:inherit;--shiki-dark:#C98A7D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .siDh9, html code.shiki .siDh9{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#1E754F;--shiki-default-font-style:inherit;--shiki-dark:#4D9375;--shiki-dark-font-style:inherit}html pre.shiki code .sftqT, html code.shiki .sftqT{--shiki-light:#90A4AE;--shiki-default:#393A34;--shiki-dark:#DBD7CAEE}html pre.shiki code .soVBu, html code.shiki .soVBu{--shiki-light:#39ADB5;--shiki-default:#999999;--shiki-dark:#666666}html pre.shiki code .s5Kfy, html code.shiki .s5Kfy{--shiki-light:#9C3EDA;--shiki-default:#AB5959;--shiki-dark:#CB7676}html pre.shiki code .sD-vU, html code.shiki .sD-vU{--shiki-light:#E2931D;--shiki-default:#2E8F82;--shiki-dark:#5DA994}html pre.shiki code .sYn-s, html code.shiki .sYn-s{--shiki-light:#E2931D;--shiki-default:#59873A;--shiki-dark:#80A665}html pre.shiki code .siWMO, html code.shiki .siWMO{--shiki-light:#6182B8;--shiki-default:#393A34;--shiki-dark:#DBD7CAEE}html pre.shiki code .sqOPj, html code.shiki .sqOPj{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#B07D48;--shiki-default-font-style:inherit;--shiki-dark:#BD976A;--shiki-dark-font-style:inherit}html pre.shiki code .s7CZa, html code.shiki .s7CZa{--shiki-light:#F76D47;--shiki-default:#2F798A;--shiki-dark:#4C9A91}html pre.shiki code .s8XtY, html code.shiki .s8XtY{--shiki-light:#39ADB5;--shiki-default:#1E754F;--shiki-dark:#4D9375}html pre.shiki code .sJdAF, html code.shiki .sJdAF{--shiki-light:#6182B8;--shiki-default:#998418;--shiki-dark:#B8A965}html pre.shiki code .sRjD_, html code.shiki .sRjD_{--shiki-light:#E53935;--shiki-light-font-style:italic;--shiki-default:#393A34;--shiki-default-font-style:inherit;--shiki-dark:#DBD7CAEE;--shiki-dark-font-style:inherit}html pre.shiki code .se3Ec, html code.shiki .se3Ec{--shiki-light:#90A4AE;--shiki-default:#A65E2B;--shiki-dark:#C99076}html pre.shiki code .sBPpx, html code.shiki .sBPpx{--shiki-light:#E53935;--shiki-default:#393A34;--shiki-dark:#DBD7CAEE}html pre.shiki code .sbYkP, html code.shiki .sbYkP{--shiki-light:#39ADB5;--shiki-default:#B5695977;--shiki-dark:#C98A7D77}html pre.shiki code .sTbE_, html code.shiki .sTbE_{--shiki-light:#91B859;--shiki-default:#B56959;--shiki-dark:#C98A7D}html pre.shiki code .sFGJz, html code.shiki .sFGJz{--shiki-light:#E53935;--shiki-default:#A65E2B;--shiki-dark:#C99076}html pre.shiki code .s6DHA, html code.shiki .s6DHA{--shiki-light:#6182B8;--shiki-default:#A65E2B;--shiki-dark:#C99076}html pre.shiki code .s4Jsk, html code.shiki .s4Jsk{--shiki-light:#39ADB5;--shiki-default:#99841877;--shiki-dark:#B8A96577}html pre.shiki code .sLorS, html code.shiki .sLorS{--shiki-light:#9C3EDA;--shiki-default:#998418;--shiki-dark:#B8A965}html pre.shiki code .sa2tF, html code.shiki .sa2tF{--shiki-light:#E2931D;--shiki-default:#998418;--shiki-dark:#B8A965}html pre.shiki code .suXOh, html code.shiki .suXOh{--shiki-light:#E53935;--shiki-default:#998418;--shiki-dark:#B8A965}html pre.shiki code .sVsLi, html code.shiki .sVsLi{--shiki-light:#39ADB5;--shiki-default:#AB5959;--shiki-dark:#CB7676}html pre.shiki code .sljsM, html code.shiki .sljsM{--shiki-light:#6182B8;--shiki-default:#59873A;--shiki-dark:#80A665}html pre.shiki code .sCyAa, html code.shiki .sCyAa{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#393A34;--shiki-default-font-style:inherit;--shiki-dark:#DBD7CAEE;--shiki-dark-font-style:inherit}html pre.shiki code .s3h35, html code.shiki .s3h35{--shiki-light:#F76D47;--shiki-default:#A65E2B;--shiki-dark:#C99076}",{"title":1045,"searchDepth":1053,"depth":1060,"links":14146},[14147,14151,14156,14159],{"id":1032,"depth":1060,"text":1033,"children":14148},[14149,14150],{"id":1037,"depth":1066,"text":1038},{"id":1272,"depth":1066,"text":1273},{"id":2154,"depth":1060,"text":2155,"children":14152},[14153,14154,14155],{"id":2158,"depth":1066,"text":2159},{"id":3546,"depth":1066,"text":3547},{"id":4002,"depth":1066,"text":4003},{"id":8765,"depth":1060,"text":8766,"children":14157},[14158],{"id":8769,"depth":1066,"text":8770},{"id":11209,"depth":1060,"text":11210,"children":14160},[14161],{"id":11213,"depth":1066,"text":11214},"md",null,{},{"title":324,"description":1028},"P-Oan1JHNpvMR6cqC-N_VdgddxsIxak-_84C-RGksWA",[14168,14170],{"title":320,"path":321,"stem":322,"description":14169,"children":-1},"Database optimization is crucial for building scalable Django applications. Understanding how to identify performance bottlenecks, optimize queries, and implement efficient database patterns ensures your application can handle growth and maintain responsiveness.",{"title":328,"path":329,"stem":330,"description":14171,"children":-1},"Django signals provide a decoupled way to allow certain senders to notify a set of receivers when some actions have taken place. They're particularly useful for performing actions when models are saved, deleted, or when other events occur in your Django application.",1772474921539]