Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Category(TimeStampedModel):
- name = models.CharField(_("Category name"), max_length=256)
- def __str__(self):
- return self.name
- class Meta:
- verbose_name = _('Category')
- verbose_name_plural = _('Categories')
- class QuickLinkDescription(TimeStampedModel):
- description = models.CharField(_("Description"), max_length=256)
- def __str__(self):
- return self.description
- class Meta:
- verbose_name = _('Description')
- verbose_name_plural = _('Descriptions')
- class QuickLinkUrl(TimeStampedModel):
- link = models.URLField(_("Link"), max_length=256)
- def __str__(self):
- return self.link
- class Meta:
- verbose_name = _('Link')
- verbose_name_plural = _('Links')
- class QuickLinkName(TimeStampedModel):
- name = models.CharField(_("Name"), max_length=256)
- def __str__(self):
- return self.name
- class Meta:
- verbose_name = _('Name')
- verbose_name_plural = _('Names')
- class QuickLink(TimeStampedModel):
- name = models.OneToOneField(
- QuickLinkName,
- on_delete=models.CASCADE,
- related_name='quicklink_name',
- null=True
- )
- link = models.OneToOneField(
- QuickLinkUrl,
- on_delete=models.CASCADE,
- related_name='quicklink_link',
- null=True
- )
- category = models.OneToOneField(
- Category,
- on_delete=models.CASCADE,
- related_name='quicklink_category',
- null=True
- )
- description = models.OneToOneField(
- QuickLinkDescription,
- on_delete=models.CASCADE,
- related_name='quicklink_description',
- null=True
- )
- def __str__(self):
- return '{} {} {} {}'.format(
- self.name.name,
- self.link.link,
- self.category.name,
- self.description.description
- )
- class Meta:
- verbose_name = _('Quick link')
- verbose_name_plural = _('Quick links')
Advertisement
Add Comment
Please, Sign In to add comment