Skip to content

Instantly share code, notes, and snippets.

@leopard627
Created June 17, 2020 15:01
Show Gist options
  • Save leopard627/98b79fca5de6e4ae216e76db2ee73b05 to your computer and use it in GitHub Desktop.
Save leopard627/98b79fca5de6e4ae216e76db2ee73b05 to your computer and use it in GitHub Desktop.
## models.py
class Tag(PrintableModel):
name = models.CharField(
verbose_name=_('Name'),
db_index=True,
max_length=150,
help_text="태그 이름",
unique=True)
created_at = models.DateTimeField(
verbose_name=_('Created at'),
db_index=True, default=timezone.now)
updated_at = models.DateTimeField(
verbose_name=_('Updated at'),
null=True,
auto_now=True,
)
deleted_at = models.DateTimeField(
verbose_name=_('Deleted at'),
null=True, blank=True, default=None, db_index=True
)
def __str__(self):
return '{}'.format(self.name)
class Meta:
db_table = 'tag'
managed = True
class TourTag(PrintableModel):
tag = models.ForeignKey(
'google_tour.Tag',
verbose_name=_('Tag 태그'),
on_delete=models.SET_NULL,
db_index=True,
null=True,
related_name="tourtag_tag",
help_text="태그"
)
tour = models.ForeignKey(
'google_tour.Tour',
verbose_name=_('Tour'),
on_delete=models.SET_NULL,
db_index=True,
null=True,
related_name="tourtag_tour",
help_text="투어"
)
created_at = models.DateTimeField(
verbose_name=_('Created at'),
db_index=True, default=timezone.now)
updated_at = models.DateTimeField(
verbose_name=_('Updated at'),
null=True,
auto_now=True,
)
deleted_at = models.DateTimeField(
verbose_name=_('Deleted at'),
null=True, blank=True, default=None, db_index=True
)
def __str__(self):
return f"{self.tag.name}"
class Meta:
db_table = 'tour_tag'
unique_together = (('tour', 'tag'),)
managed = True
class Tour(PrintableModel):
name = models.CharField(
verbose_name=_('Name'),
max_length=250,
db_index=True,
help_text="투어 이름",
unique=True)
tags = models.ManyToManyField(
'google_tour.Tag',
through="TourTag",
through_fields=('tour', 'tag'),
related_name="tags",
db_index=True,
)
class Meta:
verbose_name = "투어"
verbose_name_plural = "투어 모음"
db_table = 'tour'
managed = True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment