diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-24 12:16:56 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-24 12:16:56 +0200 |
commit | 50a238daaba8feb6a1572dd1ec889103da11eae1 (patch) | |
tree | 78945cc4e255753c17837782036100953383715a /chimere/models.py | |
parent | a61df3190b2b2a0f5491930ff00909b61c4bba1e (diff) | |
download | Chimère-50a238daaba8feb6a1572dd1ec889103da11eae1.tar.bz2 Chimère-50a238daaba8feb6a1572dd1ec889103da11eae1.zip |
Adaptations vers Django version 2.2
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/chimere/models.py b/chimere/models.py index 2f8f792..a58a628 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -42,10 +42,10 @@ from django.contrib.postgres.search import SearchVectorField, SearchVector, \ SearchQuery, TrigramSimilarity from django.core.files import File from django.core.exceptions import ObjectDoesNotExist -from django.core.urlresolvers import reverse, NoReverseMatch from django.db.models import Q, Count from django.db.models.signals import post_save, pre_save from django.template import defaultfilters +from django.urls import reverse, NoReverseMatch from django.utils.translation import ugettext_lazy as _ from chimere.widgets import HiddenPointChooserWidget, PointField, RouteField, \ @@ -207,7 +207,7 @@ class Color(models.Model): blank=True, null=True) order = models.IntegerField(_("Order")) color_theme = models.ForeignKey(ColorTheme, verbose_name=_("Color theme"), - related_name='colors') + related_name='colors', on_delete=models.CASCADE) class Meta: ordering = ["order"] @@ -275,7 +275,7 @@ class Icon(models.Model): class SubCategory(models.Model): category = models.ForeignKey(Category, verbose_name=_("Category"), - related_name='subcategories') + related_name='subcategories', on_delete=models.CASCADE) name = models.CharField(_("Name"), max_length=150) available = models.BooleanField(_("Available"), default=True) submission = models.BooleanField(_("Available for submission"), @@ -288,19 +288,19 @@ class SubCategory(models.Model): order = models.IntegerField(_("Order"), default=1000) dated = models.BooleanField(_("Is dated"), default=False) description = models.TextField(blank=True, null=True) - icon = models.ForeignKey(Icon, verbose_name=_("Icon")) + icon = models.ForeignKey(Icon, verbose_name=_("Icon"), on_delete=models.CASCADE) hover_icon = models.ForeignKey( Icon, verbose_name=_("Hover icon"), blank=True, null=True, - related_name='subcat_hovered') + related_name='subcat_hovered', on_delete=models.SET_NULL) menu_icon = models.ForeignKey( Icon, verbose_name=_("Menu icon"), blank=True, null=True, - related_name='subcat_menu') + related_name='subcat_menu', on_delete=models.SET_NULL) menu_icon_off = models.ForeignKey( Icon, verbose_name=_("Menu icon off"), blank=True, null=True, - related_name='subcat_menu_off') + related_name='subcat_menu_off', on_delete=models.SET_NULL) color_theme = models.ForeignKey( ColorTheme, verbose_name=_("Color theme"), blank=True, null=True, - related_name='subcategories', help_text=_("For route and polygon")) + related_name='subcategories', help_text=_("For route and polygon"), on_delete=models.SET_NULL) as_layer = models.BooleanField(_("Displayed in the layer menu"), default=False) weight_formula = models.TextField(_("Weight formula"), default="", @@ -424,8 +424,8 @@ class SubCategoryUserLimit(models.Model): Moderation limit for user by category """ subcategory = models.ForeignKey( - SubCategory, related_name='limited_for_user') - user = models.ForeignKey(User, related_name='subcategory_limit_to') + SubCategory, related_name='limited_for_user', on_delete=models.CASCADE) + user = models.ForeignKey(User, related_name='subcategory_limit_to', on_delete=models.CASCADE) def __str__(self): return "{} / {}".format(self.user, self.subcategory) @@ -545,8 +545,8 @@ class ImporterKeyCategories(models.Model): Association between key and categories """ importer = models.ForeignKey(Importer, verbose_name=_("Importer"), - related_name='key_categories') - category = models.ForeignKey(SubCategory, verbose_name=_("Category")) + related_name='key_categories', on_delete=models.CASCADE) + category = models.ForeignKey(SubCategory, verbose_name=_("Category"), on_delete=models.CASCADE) key = models.CharField(_("Import key"), max_length=200) class Meta: @@ -1193,14 +1193,14 @@ class Marker(GeographicItem): """ ref_item = models.ForeignKey( "Marker", blank=True, null=True, verbose_name=_("Reference marker"), - related_name='submited_marker') + related_name='submited_marker', on_delete=models.SET_NULL) point = PointField(_("Localisation"), srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION) available_date = models.DateTimeField(_("Available Date"), blank=True, null=True) # used by feeds is_front_page = models.NullBooleanField(_("Is front page"), blank=True, null=True) - objects = models.GeoManager() + objects = models.Manager() geom_attr = 'point' class Meta: @@ -1387,7 +1387,7 @@ class Polygon(GeographicItem): """ ref_item = models.ForeignKey( "Polygon", blank=True, null=True, verbose_name=_("Reference polygon"), - related_name='submited_polygon') + related_name='submited_polygon', on_delete=models.SET_NULL) polygon = PolygonField( _("Polygon"), srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION) picture = models.ImageField( @@ -1401,7 +1401,7 @@ class Polygon(GeographicItem): inner_color = models.CharField( _("Inner color"), max_length=200, help_text=_("HTML code/name"), blank=True, null=True) - objects = models.GeoManager() + objects = models.Manager() geom_attr = 'polygon' json_color_keys = ['color', 'inner_color'] default_values = {'color': "#000", @@ -1472,7 +1472,7 @@ class AggregatedPolygon(models.Model): Database view for aggregated polygons """ polygon = models.MultiPolygonField() - subcategory = models.ForeignKey(SubCategory) + subcategory = models.ForeignKey(SubCategory, on_delete=models.CASCADE) status = models.CharField(_("Status"), max_length=1, choices=STATUS) class Meta: @@ -1568,7 +1568,7 @@ class MultimediaExtension(models.Model): name = models.CharField(_("Extension name"), max_length=6) multimedia_type = models.ForeignKey( MultimediaType, verbose_name=_("Associated multimedia type"), - related_name='extensions') + related_name='extensions', on_delete=models.CASCADE) class Meta: verbose_name = _("Multimedia extension") @@ -1582,16 +1582,16 @@ class MultimediaFile(models.Model): name = models.CharField(_("Name"), max_length=150) url = models.URLField(_("Url"), max_length=200) order = models.IntegerField(_("Order"), default=1) - multimedia_type = models.ForeignKey(MultimediaType, blank=True, null=True) + multimedia_type = models.ForeignKey(MultimediaType, blank=True, null=True, on_delete=models.SET_NULL) miniature = models.BooleanField( _("Display inside the description?"), default=settings.CHIMERE_MINIATURE_BY_DEFAULT) marker = models.ForeignKey(Marker, related_name='multimedia_files', - blank=True, null=True) + blank=True, null=True, on_delete=models.SET_NULL) route = models.ForeignKey('Route', related_name='multimedia_files', - blank=True, null=True) + blank=True, null=True, on_delete=models.SET_NULL) polygon = models.ForeignKey(Polygon, related_name='multimedia_files', - blank=True, null=True) + blank=True, null=True, on_delete=models.SET_NULL) class Meta: verbose_name = _("Multimedia file") @@ -1666,11 +1666,11 @@ class PictureFile(models.Model): blank=True, null=True) order = models.IntegerField(_("Order"), default=1) marker = models.ForeignKey(Marker, related_name='pictures', blank=True, - null=True) + null=True, on_delete=models.SET_NULL) route = models.ForeignKey('Route', related_name='pictures', - blank=True, null=True) + blank=True, null=True, on_delete=models.SET_NULL) polygon = models.ForeignKey(Polygon, related_name='pictures', blank=True, - null=True) + null=True, on_delete=models.SET_NULL) def __str__(self): return self.name or "" @@ -1835,11 +1835,11 @@ class Route(GeographicItem): """ ref_item = models.ForeignKey( "Route", blank=True, null=True, verbose_name=_("Reference route"), - related_name='submited_route') + related_name='submited_route', on_delete=models.SET_NULL) route = RouteField(_("Route"), srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION) associated_file = models.ForeignKey(RouteFile, blank=True, null=True, - verbose_name=_("Associated file")) + verbose_name=_("Associated file"), on_delete=models.SET_NULL) picture = models.ImageField( _("Image"), upload_to='upload', blank=True, null=True, height_field='height', width_field='width') @@ -1848,7 +1848,7 @@ class Route(GeographicItem): color = models.CharField( _("Color"), max_length=200, help_text=_("HTML code/name"), blank=True, null=True) - objects = models.GeoManager() + objects = models.Manager() geom_attr = 'route' json_color_keys = ['color'] default_values = {'color': '#000'} @@ -1943,7 +1943,7 @@ class AggregatedRoute(models.Model): Database view for aggregated routes """ route = models.MultiLineStringField() - subcategory = models.ForeignKey(SubCategory) + subcategory = models.ForeignKey(SubCategory, on_delete=models.CASCADE) status = models.CharField(_("Status"), max_length=1, choices=STATUS) class Meta: @@ -2180,7 +2180,7 @@ class Area(models.Model, SimpleArea): _("Extra map definition"), blank=True, null=True, help_text=_("Extra javascript script loaded for this area. " "Carreful! To prevent breaking the map must be valid.")) - objects = models.GeoManager() + objects = models.Manager() def __str__(self): return self.name @@ -2332,8 +2332,8 @@ def get_users_by_area(area): class AreaLayers(models.Model): - area = models.ForeignKey(Area) - layer = models.ForeignKey(Layer) + area = models.ForeignKey(Area, on_delete=models.CASCADE) + layer = models.ForeignKey(Layer, on_delete=models.CASCADE) order = models.IntegerField(_("Order")) default = models.NullBooleanField(_("Default layer")) @@ -2344,8 +2344,8 @@ class AreaLayers(models.Model): class AreaOverlays(models.Model): - area = models.ForeignKey(Area) - overlay = models.ForeignKey(Overlay) + area = models.ForeignKey(Area, on_delete=models.CASCADE) + overlay = models.ForeignKey(Overlay, on_delete=models.CASCADE) order = models.IntegerField(_("Order")) class Meta: @@ -2355,8 +2355,8 @@ class AreaOverlays(models.Model): class AreaPages(models.Model): - area = models.ForeignKey(Area) - page = models.ForeignKey(Page) + area = models.ForeignKey(Area, on_delete=models.CASCADE) + page = models.ForeignKey(Page, on_delete=models.CASCADE) order = models.IntegerField(_("Order")) class Meta: @@ -2443,7 +2443,7 @@ class PropertyModelChoice(models.Model): Choices for property model """ propertymodel = models.ForeignKey(PropertyModel, related_name='choices', - verbose_name=_("Property model")) + verbose_name=_("Property model"), on_delete=models.CASCADE) value = models.CharField(_("Value"), max_length=150) available = models.BooleanField(_("Available"), default=True) @@ -2460,18 +2460,18 @@ class Property(models.Model): """ marker = models.ForeignKey( Marker, verbose_name=_("Point of interest"), blank=True, null=True, - related_name='properties' + related_name='properties', on_delete=models.SET_NULL ) route = models.ForeignKey( Route, verbose_name=_("Route"), blank=True, null=True, - related_name='properties' + related_name='properties', on_delete=models.SET_NULL ) polygon = models.ForeignKey( Polygon, verbose_name=_("Polygon"), blank=True, null=True, - related_name='properties' + related_name='properties', on_delete=models.SET_NULL ) propertymodel = models.ForeignKey(PropertyModel, - verbose_name=_("Property model")) + verbose_name=_("Property model"), on_delete=models.CASCADE) value = models.TextField(_("Value")) search_value = models.TextField(_("Search value"), blank=True, null=True, help_text=_("Auto filled at save")) |