From b011616eabf6aef9289939afb9ab972a61c9a5f0 Mon Sep 17 00:00:00 2001 From: sudan45 Date: Fri, 13 Sep 2024 14:43:59 +0545 Subject: [PATCH] add content model --- content/admin.py | 7 +++++++ content/apps.py | 4 ++-- content/models.py | 34 +++++++++++++++++++++++++++++++++- content/tests.py | 2 -- content/views.py | 2 -- 5 files changed, 42 insertions(+), 7 deletions(-) diff --git a/content/admin.py b/content/admin.py index 8c38f3f..7ee34e3 100644 --- a/content/admin.py +++ b/content/admin.py @@ -1,3 +1,10 @@ from django.contrib import admin +from content.models import Content + # Register your models here. + + +@admin.register(Content) +class ContentAdmin(admin.ModelAdmin): + list_display = ["title", "content_id"] diff --git a/content/apps.py b/content/apps.py index 273d169..087ec17 100644 --- a/content/apps.py +++ b/content/apps.py @@ -2,5 +2,5 @@ class ContentConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'content' + default_auto_field = "django.db.models.BigAutoField" + name = "content" diff --git a/content/models.py b/content/models.py index 71a8362..ef6ac6f 100644 --- a/content/models.py +++ b/content/models.py @@ -1,3 +1,35 @@ +import uuid + from django.db import models +from django.utils.translation import gettext_lazy as _ + + +class Tag(models.Model): + name = models.CharField(max_length=20) + description = models.CharField(max_length=50, null=True, blank=True) + + +class Content(models.Model): + # TODO need to create UserResource models for user model + class DocumentType(models.IntegerChoices): + WORD = 1, _("Word") + PDF = 2, _("PDF") + + class DocumenetStatus(models.IntegerChoices): + PENDING = 1, _("Pending") + TEXT_EXTRACTED = 2, _("Text extracted") + ADDED_TO_VECTOR = 3, _("Added to vector") + DELETED_FROM_VECTOR = 4, _("Deleted from vector") -# Create your models here. + title = models.CharField(max_length=100) + document_type = models.IntegerField(choices=DocumentType.choices) + document_file = models.FileField(upload_to="documents") + extracted_file = models.FileField(upload_to="documents") + content_id = models.UUIDField(default=uuid.uuid4, editable=False) + description = models.TextField() + tag = models.ManyToManyField("Tag") + created_at = models.DateTimeField(auto_now_add=True) + created_by = models.ForeignKey("user.User", on_delete=models.PROTECT) + is_deleted = models.BooleanField(default=False) + deleted_at = models.DateTimeField(null=True) + deleted_by = models.ForeignKey("user.User", null=True, on_delete=models.PROTECT) diff --git a/content/tests.py b/content/tests.py index 7ce503c..a39b155 100644 --- a/content/tests.py +++ b/content/tests.py @@ -1,3 +1 @@ -from django.test import TestCase - # Create your tests here. diff --git a/content/views.py b/content/views.py index 91ea44a..60f00ef 100644 --- a/content/views.py +++ b/content/views.py @@ -1,3 +1 @@ -from django.shortcuts import render - # Create your views here.