buffer_clone_backend/api/models.py
2024-03-08 16:52:06 +02:00

45 lines
1.3 KiB
Python

from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.conf import settings
class User(AbstractBaseUser):
email = models.EmailField(unique=True)
username = models.CharField(max_length=100, unique=True)
date_joined = models.DateTimeField(auto_now_add=True)
last_login = models.DateTimeField(auto_now=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_superuser = models.BooleanField(default=False)
USERNAME_FIELD = 'email'
def __str__(self):
return f'{self.username} - {self.email}'
def has_perm(self, perm, obj=None):
return self.is_admin
def has_module_perms(self, app_label):
return True
class Type(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Post(models.Model):
image = models.ImageField(upload_to='images/', null=True, blank=True)
title = models.CharField(max_length=100)
content = models.TextField()
post_type = models.ForeignKey(Type, on_delete=models.CASCADE)
date_posted = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
def __str__(self):
return self.title