I am new to django, I am trying to add custom fields to the regular django blog Post App.
This is the blog fields out of the box:
models.py
from django.db import models
from django.contrib.auth.models import User
STATUS = (
(0,"Draft"),
(1,"Publish")
)
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
updated_on = models.DateTimeField(auto_now= True)
content = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
I need to create 4 fields:
I have tried simply adding those fields to my models.py below but it breaks the website:
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
Types = models.CharField(max_length=200, unique=True)
etc
Error on my anaconda prompt: TabError: inconsistent use of tabs and spaces in indentation
Where else do I need to add the fields? DO I need to create a separate class? If so, how do I add to the create post backend?
When you indent in python, python just expects that indentation in first line should be the same as indentation in rest of the lines, be it 4 spaces, 1 space, 1 tab, or whatever.
As it is suggested in PEP-8, we should use "Spaces" rather than using "Tabs"! Anyway, the error says you probably added those new fields with inconsistent use of tabs and spaces in indentation (i.e. probably you are using tabs instead of 4 spaces)