我有以下问题-我想在django中创建多对一映射,以表示对象和对象片段之间的基本关系,例如:
class Website(models.Model):
name = models.CharField(max_length = 100)
class WebsiteIp(models.Model):
website = models.ForeignKey(Website, primary_key = True)
ip = models.CharField(max_length = 40, primary_key = True)
introduction_date = models.DateField()
这些都应该呈现在网站(父对象)编辑页面上。虽然这听起来是个小问题,但我在这方面找不到任何有用的东西
解决这个问题的方法是修改依赖关系的主键设置(但这只适用于这样的情况——当有一个键对整个表来说可能是唯一的(在本例中是ip))。在
在这之后(而且仅在此之后),mkoistinen提出的部分解决方案将以预期的方式工作。一般的问题是django通过检查主键列的唯一性来检查创建新对象的能力(以错误的方式),所以我想通过重写一些模型。模型方法,但我对django内部结构了解不够,无法指出什么方法。在
将相关的_name参数添加到WebsiteIP上的ForeignKey,如下所示:
然后,您可以将IP作为多对一映射从网站引用,如下所示:
^{pr2}$当然没有经过测试,但这会让你找到正确的方向。另请查看:https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-one-relationships
在你的管理员py,你大概有这样的东西:
更新到以下内容:
应该显示你想要的!在
相关问题 更多 >
编程相关推荐