Dica 19.3 - Modelagem - ManyToMany - Muitos pra Muitos

# bookstore/models.py
class Author(models.Model):
first_name = models.CharField('nome', max_length=100)
last_name = models.CharField('sobrenome', max_length=255, null=True, blank=True) # noqa E501
class Meta:
ordering = ('first_name',)
verbose_name = 'autor'
verbose_name_plural = 'autores'
@property
def full_name(self):
return f'{self.first_name} {self.last_name or ""}'.strip()
def __str__(self):
return self.full_name
class Book(models.Model):
isbn = models.CharField(max_length=13, unique=True)
title = models.CharField('título', max_length=255)
rating = models.DecimalField('pontuação', max_digits=5, decimal_places=2, default=5)
authors = models.ManyToManyField(
Author,
verbose_name='autores',
blank=True
)
price = models.DecimalField('preço', max_digits=5, decimal_places=2)
stock_min = models.PositiveSmallIntegerField(default=0)
stock = models.PositiveSmallIntegerField(default=0)
created = models.DateTimeField(
'criado em',
auto_now_add=True,
auto_now=False
)
modified = models.DateTimeField(
'modificado em',
auto_now_add=False,
auto_now=True
)
class Meta:
ordering = ('title',)
verbose_name = 'livro'
verbose_name_plural = 'livros'
def __str__(self):
return f'{self.title}'
Jupyter Notebook
Exemplo


Exemplo


Adicione
publishernolist_displaydeBookAdmin.
Jupyter Notebook
Exemplo


Jupyter Notebook
PreviousDica 19.2 - Modelagem - OneToOne - Um pra UmNextDica 19.4 - Modelagem - Abstract Inheritance - Herança Abstrata
Last updated
Was this helpful?