【发布时间】:2016-05-21 22:05:28
【问题描述】:
我是 DJango 和 Python 的新手。现在我正在构建一个看起来像这样的模型:
属性 -> 房间 -> 图片。
- 我的意思是说用户可以拥有一个属性。
- 每个属性都可以有多个房间。
- 每个房间都可以有多个图像。
现在我在 Room 模型中将属性 ID 设置为外键。
并且 Room ID 作为 Image 模型中的外键。
但是,当我在进行后期调用以插入特定房间和特定属性的新图像时。
即使属性 id 不存在,它也会创建一个图像对象。它只检查房间 ID。
虽然看跌期权执行得很好。
我想在插入新图片之前验证房间 ID 和属性 ID。
代码:
class PropertyRoom(models.Model):
pass
class PropertyRoom(models.Model):
property = models.ForeignKey(Property,related_name='rooms')
class PropertyRoomImage(AbstractImage):
room = models.ForeignKey(PropertyRoom, related_name='images')
【问题讨论】:
-
能否展示模型的相关部分?
-
@Sayse 我已经添加了基本的模型结构。如果您需要更多说明,请告诉我。
-
你在属性房间的 fk 不能选择为空,因此每个房间必须有一个属性
-
是的,确实如此。但问题是,当我为特定房间添加图像时,它只检查房间 ID,我可以传递任何无效的属性 ID,但 post 调用仍然可以完美执行。
-
如果您可以包含相关代码会更容易。如果您将图像添加到特定房间,那么该房间已经具有特定属性
标签: python django python-2.7 django-models mysql-python