{"id":5066,"date":"2025-02-12T21:47:39","date_gmt":"2025-02-12T12:47:39","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5066"},"modified":"2025-02-12T21:52:12","modified_gmt":"2025-02-12T12:52:12","slug":"mastering-python-overriding-beginners-guide","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/mastering-python-overriding-beginners-guide\/","title":{"rendered":"Overriding Python?? I don't know... A complete guide for beginners"},"content":{"rendered":"<p>\"What's an override?\", \"What's a generic view?\", \"How the heck does this all connect?\"<\/p>\n\n\n\n<p>If these questions made your head spin, don't worry! Today we're going to take a look at the <a href=\"http:\/\/python.org\" target=\"_blank\" rel=\"noopener\">Python<\/a> We're about to dive into the world of overriding.<\/p>\n\n\n\n<p>By the end of this post, you'll have mastered everything from the concept of overriding, to overriding generic views, to overriding properties, to overriding methods. Now, let's become Python wizards! \ud83e\uddd9\u200d\u2642\ufe0f\ud83d\udc0d<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">Python Overriding Concepts<\/h2>\n\n\n\n<p>What is Python overriding? In a nutshell, <strong>Redefining a method defined in a parent class as a new method in a child class<\/strong>like a novice wizard reinterpreting a master wizard's spell!<\/p>\n\n\n<style>.kb-image5066_8481ca-ed .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5066_8481ca-ed\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150.jpg\" alt=\"\ud30c\uc774\uc36c \uc624\ubc84\ub77c\uc774\ub529 \uac1c\ub150 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-5069\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150.jpg 1000w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150-768x384.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\uac1c\ub150-18x9.jpg 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<p>Let's look at an example.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>class Animal:\n    def speak(self):\n        print(\"The animal makes a sound.\")\n\nclass Dog(Animal):\n    def speak(self):\n        print(\"Doggy!\")\n\nclass Cat(Animal):\n    def speak(self):\n        print(\"Meow!\")\n\n# Choir of Animals\nanimal = Animal()\ndog = Dog()\ncat = Cat()\n\nanimal.speak() # The animal makes a sound.\ndog.speak() # Meow!\ncat.speak() # Meow!<\/code><\/pre>\n\n\n\n<p>Code commentary:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>Animal<\/code> class to the <code>speak<\/code> Define a method.<\/li>\n\n\n\n<li><code>Dog<\/code>and <code>Cat<\/code> class is a <code>Animal<\/code>inherits from<\/li>\n\n\n\n<li>In each class <code>speak<\/code> method to create your own sound.<\/li>\n\n\n\n<li>Create each object and set the <code>speak<\/code> method, the overridden method will be executed.<\/li>\n<\/ol>\n\n\n\n<p>By using overrides like this, you can implement different behaviors with the same method name. Isn't that magical? \ud83c\udfa9\u2728<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overriding Generic Views: Django's Powerful Weapon<\/h2>\n\n\n\n<p>Now, let's take our magic wand to <a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\">Django<\/a>in the following example. In Django, the <a href=\"https:\/\/secondlife.lol\/en\/mastering-django-16-generic-views\/\" data-type=\"post\" data-id=\"4982\">Generic Views<\/a>which can be overridden to do some really cool things!<\/p>\n\n\n<style>.kb-image5066_4b007d-fd .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5066_4b007d-fd\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0.jpg\" alt=\"\uc7a5\uace0 \uc81c\ub124\ub9ad \ubdf0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-5071\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0.jpg 1000w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0-768x384.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc7a5\uace0-\uc81c\ub124\ub9ad-\ubdf0-18x9.jpg 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>from django.views.generic import ListView\nfrom .models import Book\n\nclass BookListView(ListView):\n    model = Book\n    template_name = 'book_list.html'\n    context_object_name = 'books'\n\n    def get_queryset(self):\n        return Book.objects.filter(is_published=True)\n\n    def get_context_data(self, **kwargs):\n        context = super().get_context_data(**kwargs)\n        context['total_books'] = Book.objects.count()\n        return context<\/code><\/pre>\n\n\n\n<p>Code commentary:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>ListView<\/code>and inherit the <code>BookListView<\/code>for a new project.<\/li>\n\n\n\n<li><code>model<\/code>to <code>Book<\/code>and set the template and context name to use.<\/li>\n\n\n\n<li><code>get_queryset<\/code> method to show only published books.<\/li>\n\n\n\n<li><code>get_context_data<\/code> method to add the total number of books to the context.<\/li>\n<\/ol>\n\n\n\n<p>This will create a default <code>ListView<\/code>'s behavior to our liking. The page showing a list of books just got smarter in an instant, didn't it \ud83e\udd13\ud83d\udcda?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overriding Properties: Magic Potion Recipes<\/h2>\n\n\n\n<p>Overriding properties is like changing the recipe for a magic potion: you tweak the existing recipe to create a new effect!<\/p>\n\n\n<style>.kb-image5066_e99bcd-f7 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5066_e99bcd-f7\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529.bmp\" alt=\"\uc18d\uc131 \uc624\ubc84\ub77c\uc774\ub529 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-5075\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529.bmp 1000w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529-768x384.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uc18d\uc131-\uc624\ubc84\ub77c\uc774\ub529-18x9.jpg 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>class Potion:\n    color = \"Transparent\"\n    effect = \"None\"\n\nclass HealingPotion(Potion):\n    color = \"red\"\n    effect = \"Restores health\"\n\n    def describe(self):\n        return f\"This potion is the color {self.color} and has the effect {self.effect} effect.\"\n\nhealing_potion = HealingPotion()\nprint(healing_potion.describe()) # This potion is red and has the effect of restoring health.<\/code><\/pre>\n\n\n\n<p>Code commentary:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>Potion<\/code> Define default properties for the class.<\/li>\n\n\n\n<li><code>HealingPotion<\/code> In the class <code>color<\/code>and <code>effect<\/code> Overrides the property.<\/li>\n\n\n\n<li><code>describe<\/code> method to describe the potion's properties.<\/li>\n\n\n\n<li>object and create a <code>describe<\/code> method, the overridden property value will be used.<\/li>\n<\/ol>\n\n\n\n<p>By using property overrides like this, you can inherit characteristics from the base class, but change them only where you need to. Makes the Wizard's Lab more fun \ud83e\uddea\ud83d\udd2e<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overriding method: Upgrading an order<\/h2>\n\n\n\n<p>Finally, let's talk about method overriding. It's like upgrading an existing magic spell - it's more powerful, more awesome, and it works!<\/p>\n\n\n<style>.kb-image5066_6b8f22-98 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5066_6b8f22-98\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529.jpg\" alt=\"\uba54\uc18c\ub4dc \uc624\ubc84\ub77c\uc774\ub529 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-5073\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529.jpg 1000w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529-300x150.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529-600x300.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529-768x384.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\uba54\uc18c\ub4dc-\uc624\ubc84\ub77c\uc774\ub529-18x9.jpg 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>class Wizard:\n    def cast_spell(self):\n        print(\"Cast a basic spell.\")\n\nclass FireWizard(Wizard):\n    def cast_spell(self):\n        super().cast_spell()\n        print(\"Blow sparks! \ud83d\udd25\")\n\nclass IceWizard(Wizard):\n    def cast_spell(self):\n        super().cast_spell()\n        print(\"Fires an ice arrow! \u2744\ufe0f\")\n\nwizards = [Wizard(), FireWizard(), IceWizard()]\nfor wizard in wizards:\n    wizard.cast_spell()\n    print(\"---\")<\/code><\/pre>\n\n\n\n<p>Code commentary:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>Wizard<\/code> class has a default <code>cast_spell<\/code> Define a method.<\/li>\n\n\n\n<li><code>FireWizard<\/code>and <code>IceWizard<\/code> In the class <code>cast_spell<\/code> method to override it.<\/li>\n\n\n\n<li><code>super().cast_spell()<\/code>to execute the parent class's methods as well.<\/li>\n\n\n\n<li>Create each wizard object and set the <code>cast_spell<\/code> method, the overridden method will be executed.<\/li>\n<\/ol>\n\n\n\n<p>By using method overrides, you can add special features that are unique to each class while still maintaining the basic functionality. Your wizards just got a lot more versatile, didn't they? \ud83e\uddd9\u200d\u2642\ufe0f\u2728<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Glossary: The Essential Wizard's Vocabulary for Beginning Wizards<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Overriding<\/strong>Overriding a method or property of a parent class in a child class.<\/li>\n\n\n\n<li><strong>Generic View<\/strong>Pre-made view classes provided by Django. They make it easy to implement common web development patterns.<\/li>\n\n\n\n<li><strong>Attribute<\/strong>: Variables held by a class or object.<\/li>\n\n\n\n<li><strong>Method<\/strong>: A function defined within a class.<\/li>\n\n\n\n<li><strong>Inheritance<\/strong>: One class inheriting properties and methods from another class.<\/li>\n\n\n\n<li><strong>super()<\/strong>Function to use when calling a method of the parent class.<\/li>\n<\/ol>\n\n\n\n<p>Well, that's the end of our Python overriding adventure! Now you know everything from the concept of overriding to overriding generic views, properties, and methods. Use this knowledge to create your own Python magic.<\/p>\n\n\n\n<p>Remember, programming is like magic: it seems difficult and complicated at first, but with a little bit of learning, you'll be a wizard before you know it. Keep practicing, experimenting, and having fun!<\/p>\n\n\n\n<p>We'll see you next time with another exciting Python topic. Good luck, Python wizards!<\/p>\n\n\n<style>.kb-image4457_249bea-0c.kb-image-is-ratio-size, .kb-image4457_249bea-0c .kb-image-is-ratio-size{max-width:300px;width:100%;}.wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c.kb-image-is-ratio-size, .wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c .kb-image-is-ratio-size{align-self:unset;}.kb-image4457_249bea-0c figure{max-width:300px;}.kb-image4457_249bea-0c .image-is-svg, .kb-image4457_249bea-0c .image-is-svg img{width:100%;}.kb-image4457_249bea-0c .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image4457_249bea-0c\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp\" alt=\"\ud14c\ub9ac \uc774\ubaa8\ud2f0\ucf58\" class=\"kb-img wp-image-4456\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-600x600.webp 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-150x150.webp 150w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-768x768.webp 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-12x12.webp 12w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding.webp 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption><strong>(Happy coding!)<\/strong><\/figcaption><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>\"What's an override?\", \"What's a generic view?\", \"What's all this...<\/p>","protected":false},"author":3,"featured_media":5080,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[505,902,716,877,33],"class_list":["post-5066","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-505","tag-902","tag-716","tag-877","tag-33"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":505,"label":"\uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d"},{"value":902,"label":"\uc624\ubc84\ub77c\uc774\ub529"},{"value":716,"label":"\uc7a5\uace0"},{"value":877,"label":"\uc81c\ub124\ub9ad \ubdf0"},{"value":33,"label":"\ud30c\uc774\uc36c"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/02\/\ud30c\uc774\uc36c-\uc624\ubc84\ub77c\uc774\ub529-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":116,"filter":"raw","cat_ID":3,"category_count":116,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":505,"name":"\uac1d\uccb4\uc9c0\ud5a5 \ud504\ub85c\uadf8\ub798\ubc0d","slug":"%ea%b0%9d%ec%b2%b4%ec%a7%80%ed%96%a5-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%b0%8d","term_group":0,"term_taxonomy_id":505,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":902,"name":"\uc624\ubc84\ub77c\uc774\ub529","slug":"%ec%98%a4%eb%b2%84%eb%9d%bc%ec%9d%b4%eb%94%a9","term_group":0,"term_taxonomy_id":902,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":716,"name":"\uc7a5\uace0","slug":"%ec%9e%a5%ea%b3%a0","term_group":0,"term_taxonomy_id":716,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":877,"name":"\uc81c\ub124\ub9ad \ubdf0","slug":"%ec%a0%9c%eb%84%a4%eb%a6%ad-%eb%b7%b0","term_group":0,"term_taxonomy_id":877,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":33,"name":"\ud30c\uc774\uc36c","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac","term_group":0,"term_taxonomy_id":33,"taxonomy":"post_tag","description":"","parent":0,"count":30,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=5066"}],"version-history":[{"count":8,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5066\/revisions"}],"predecessor-version":[{"id":5078,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5066\/revisions\/5078"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/5080"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=5066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=5066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=5066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}