我把场地作为教室的一部分
roomextra = models.ManyToManyField(
to='hotel.RoomExtra',
related_name='room_extra',
verbose_name='room extra',
)
Django为我创造了多对多的关系。此关系显示为表格行:
管理员
class RoomExtraInLine(admin.TabularInline):
model = Room.roomextra.through
extra = 1
verbose_name = _('Customise Room Extra')
verbose_name_plural = _('Customise Room Extra(s)')
form = AddRoomAddRoomExtrasForm
在Django admin中,如果我添加一个额外的房间,我会得到下图中的文本:
Room_roomextra object (5)
上面是我选择的选项。我怎样才能换房间呢
更新
按要求编码
class RoomExtra(models.Model):
PER_PERSON = 0
PER_ROOM = 1
PER_CHOICES = [
(PER_PERSON, _('Person')),
(PER_ROOM, _('Room')),
]
name = models.CharField(max_length=100)
cost = models.DecimalField(
default="0.00",
max_digits=10,
decimal_places=2,
validators=[MinValueValidator(Decimal('0.00'))],
)
cost_per = models.IntegerField(
choices=PER_CHOICES,
default=PER_ROOM,
verbose_name=_('Cost per'),
)
def __str__(self):
return self.name
class Room(models.Model):
name = models.CharField(max_length=100)
type = models.ForeignKey(
to='hotel.RoomType',
on_delete=models.CASCADE,
)
location = models.ForeignKey(
to='hotel.Location',
on_delete=models.CASCADE,
)
description = models.TextField(
blank=True,
max_length=500,
)
roomextra = models.ManyToManyField(
to='hotel.RoomExtra',
related_name='room_extra',
verbose_name='room extra',
)
bathroom = models.ForeignKey(
to='hotel.Bathroom',
on_delete=models.CASCADE,
)
available = models.BooleanField(default=True,)
def __str__(self):
return self.name
为Room//Room Extra添加代理模型允许在Django admin上更改输出文本
相关问题 更多 >
编程相关推荐