需要在django admin。
中建模服务器,应用程序和服务器角色之间的关系ServerRole下面的代码是中间模型
这就是我的想法。它到目前为止工作正常,但我错过了什么?
class Application(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class Server(models.Model):
name = models.CharField(max_length=200)
apps = models.ManyToMany('Application', related_name='servers')
class ServerRole(models.Model):
name = models.CharField(max_length=200)
servers = models.ManyToMany(Server, related_name='serverrole')
答案 0 :(得分:1)
如果我已正确理解您的要求,那就更像您需要的
class ServerRole(models.Model):
name = models.CharField(max_length=200)
class Application(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class Server(models.Model):
name = models.CharField(max_length=200)
apps = models.ManyToMany('Application', through='ServerRole', related_name='servers')
Rational - 服务器可以拥有许多应用程序,而应用程序可以拥有许多服务器。如果一个应用程序在特定的服务器上,它应该只有一个角色(如果不是你的整个系统因为非常复杂和难以编写),这可以由多对多关系中的直通模型实现。