1
django adminでは、サーバ、アプリケーション、サーバロールの関係をモデル化する必要があります。3ウェイを作成する方法ManyToMany django
- Serverは、アプリケーションがまたは多くサーバーでホストすることができます
- または多くのアプリケーションを持つことができます
- Serverは、1またはアプリのために多くの役割(DBサーバーを持っています役割、 WEBサーバーの役割など)
- ie:ServerAには役割があります(WebサーバーとAPPX 用DBサーバ、2つのロール)
- サーバーAがAPPY
SERVERROLE以下のコードのための(Webサーバ)の役割を持っているがここで
仲介モデルである私が思っていものです。これまでのところうまく動作しますが、何か不足していますか?
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')
あなたのコードと私の違いを理解しようとしています。あなたの2番目の文章:アプリが特定のサーバー上にある場合は、その上に1つの役割しか持たないはずです。これはそうではありません。 1つのサーバーは、特定のアプリケーションに対して複数の役割を持つことができます。例。サーバAは、ある特定のアプリケーション用のWebサーバ+プロキシサーバの役割を持つことがあります。 SAMEサーバーAは、APP Bのプロキシサーバーの役割を持っている可能性があります。しかし、おそらく私は間違っています。思考? – Stryker
ええ、これは私があまりにも意味するものです。チェスアプリがサーバーAにある場合は、プロキシにすることができます。しかし、サーバAがサーバA上のチェスアプリの別のインスタンスをサーバAがレディスキャッシュとして機能するようにすることはできません。 – e4c5
脇に、あなたのプロジェクトには関係ありません。データベースにするサーバーはデータベースでなければなりません。それ以外のポートは開いてはいけません。さらに、DBのハードウェア構成は、Webサーバーやmemcacheやredisと大きく異なる場合があります。だから彼らは本当に交通量の多い環境ですべての取引のジャックになろうとしてはいけません。 – e4c5