class Idea(CreationModificationDateMixin, MetaTagsMixin, SchemaMicrodata, UrlMixin): class Meta: verbose_name = _("Idea") verbose_name_plural = _("Ideas") title = MultilingualCharField(_("Title"), blank=True, max_length=200) description = MultilingualTextField(_("Description"), blank=True) content = MultilingualTextField(_("Content"), blank=True) categories = models.ManyToManyField(Category, verbose_name=_("Category"), blank=True, related_name="ideas") def get_url_path(self): return reverse("idea_details", kwargs={ "idea_id": str(self.pk), }) @classmethod def itemprop_fields(cls): fields = ["title", "content"] lang_fields = [] for lang in settings.LANGUAGES: safe_suffix = lang[0].replace("-", "_") lang_fields = lang_fields + [ f"{field}_{safe_suffix}" for field in fields ] return lang_fields + super().itemprop_fields() def __str__(self): return self.title
class Category(models.Model): title = MultilingualCharField(_("Title"), max_length=200) class Meta: verbose_name = _("Idea Category") verbose_name_plural = _("Idea Categories") def __str__(self): return self.title
class Idea(UrlMixin): title = MultilingualCharField(_("Title"), max_length=200) subtitle = MultilingualCharField(_("Subtitle"), max_length=200, blank=True) description = MultilingualTextField(_("Description"), blank=True) is_original = models.BooleanField(_("Original")) categories = models.ManyToManyField(Category, verbose_name=_("Categories"), blank=True, related_name="ideas") class Meta: verbose_name = _("Idea") verbose_name_plural = _("Ideas") def __str__(self): return self.title def get_url_path(self): try: return reverse("idea_detail", kwargs={"id": self.pk}) except NoReverseMatch: return ""
class Idea(UrlMixin, CreationModificationDateMixin, MetaTagsMixin): # title = models.CharField(_("Title"), max_length=200) title = MultilingualCharField( _("Title"), max_length=200, ) subtitle = MultilingualCharField(_("Subtitle"), max_length=200, blank=True) # content = models.TextField(_("Content")) description = MultilingualTextField( _("Description"), blank=True, ) is_original = models.BooleanField( _("Original"), default=False, ) categories = models.ManyToManyField( Category, verbose_name=_("Categories"), blank=True, related_name="ideas", ) class Meta: verbose_name = _("Idea") verbose_name_plural = _("Ideas") def __str__(self): return self.title def get_url_path(self): try: # return reverse("idea_details", kwargs={ "idea_id": str(self.pk),} ) return reverse("idea_detail", kwargs={"id": self.pk}) except NoReverseMatch: return ""
class Article(models.Model): class Meta: db_table = "articles" title = MultilingualCharField( _t('Title'), max_length=200, ) text = MultilingualTextField( _t('Text'), blank=True, ) date = models.DateTimeField() image = models.ImageField(upload_to='%Y/%m/%d', blank=True) def __str__(self): return self.title