You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

38 lines
1.3 KiB

from django.contrib.auth.models import User
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=32)
slug = models.CharField(max_length=32, unique=True)
info = models.TextField(max_length=1024, blank=True)
photo = models.ImageField(blank=True)
def __str__(self):
return self.name
class Tool(models.Model):
category = models.ForeignKey(Category, related_name='tools', on_delete=models.PROTECT)
name = models.CharField(max_length=32)
slug = models.CharField(max_length=32, unique=True)
info = models.TextField(max_length=1024, blank=True)
wiki_id = models.IntegerField()
photo = models.ImageField(blank=True)
mac = models.CharField(max_length=12)
def __str__(self):
return self.name
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, editable=False)
lockout_admin = models.BooleanField(default=False)
authorized_tools = models.ManyToManyField(Tool, blank=True)
def __str__(self):
return self.user.username
class Card(models.Model):
profile = models.ForeignKey(Profile, related_name='cards', on_delete=models.CASCADE)
number = models.CharField(max_length=10)
def __str__(self):
return self.number