UrlSourceSearch model update, admin panel registration of objects

This commit is contained in:
Luciano Gervasoni
2025-03-21 12:28:23 +01:00
parent f84c7729f8
commit 8050773906
3 changed files with 115 additions and 12 deletions

View File

@@ -1,3 +1,12 @@
from django.contrib import admin
# Register your models here.
from .models import Search, Source, StatusPatternMatching, UrlContent, Urls, UrlsDuplicate, UrlsSourceSearch
admin.site.register(Search)
admin.site.register(Source)
admin.site.register(StatusPatternMatching)
admin.site.register(UrlContent)
admin.site.register(Urls)
admin.site.register(UrlsDuplicate)
admin.site.register(UrlsSourceSearch)

View File

@@ -16,6 +16,8 @@ class Search(models.Model):
managed = False
db_table = 'search'
def __str__(self):
return "[{}] {}".format(self.type, self.search)
class Source(models.Model):
id = models.SmallAutoField(primary_key=True)
@@ -25,6 +27,8 @@ class Source(models.Model):
managed = False
db_table = 'source'
def __str__(self):
return self.source
class StatusPatternMatching(models.Model):
pattern = models.TextField(primary_key=True)
@@ -35,6 +39,8 @@ class StatusPatternMatching(models.Model):
managed = False
db_table = 'status_pattern_matching'
def __str__(self):
return "{} -> {} [Priority: {}]".format(self.pattern, self.status, self.priority)
class UrlContent(models.Model):
id_url = models.OneToOneField('Urls', models.DO_NOTHING, db_column='id_url', primary_key=True)
@@ -57,7 +63,6 @@ class UrlContent(models.Model):
managed = False
db_table = 'url_content'
class Urls(models.Model):
class STATUS_ENUM(models.TextChoices):
RAW = "raw", "Raw"
@@ -76,6 +81,9 @@ class Urls(models.Model):
db_table = 'urls'
ordering = ["-ts_fetch"]
def __str__(self):
return "{} {} {}".format(self.url, self.ts_fetch, self.status)
class UrlsDuplicate(models.Model):
id_url_canonical = models.OneToOneField(Urls, models.DO_NOTHING, db_column='id_url_canonical', primary_key=True) # The composite primary key (id_url_canonical, id_url_duplicated) found, that is not supported. The first column is selected.
@@ -86,6 +94,9 @@ class UrlsDuplicate(models.Model):
db_table = 'urls_duplicate'
unique_together = (('id_url_canonical', 'id_url_duplicated'),)
def __str__(self):
return Urls(id=self.id_url_duplicated), Urls(id=self.id_url_canonical)
class UrlsSourceSearch(models.Model):
id_url = models.OneToOneField(Urls, models.DO_NOTHING, db_column='id_url', primary_key=True) # The composite primary key (id_url, id_source, id_search) found, that is not supported. The first column is selected.
@@ -96,3 +107,6 @@ class UrlsSourceSearch(models.Model):
managed = False
db_table = 'urls_source_search'
unique_together = (('id_url', 'id_source', 'id_search'),)
def __str__(self):
return Urls(id=self.id_url), Source(id=self.id_source), Search(id=self.id_search)