Django Un-À-Plusieurs Modèles

Les modèles suivants décrivent une vulnérabilité et l'Url sur internet qui référence cette vulnérabilité. Supposons que chaque URL ne parle jamais que de 1 de la vulnérabilité, et que de nombreuses adresses allons discuter de ce problème. Est-ce la bonne façon de poser le modèle?

class Vuln(models.Model):
  pub_date = models.DateTimeField("Publication Date")
  short_description = models.CharField("Description", max_length=70)

  reference_urls = models.ForeignKey(Url, unique=True, blank=True, verbose_name="Reference URLs")
  vendor = models.ForeignKey(Vendor, verbose_name="Vendor")

class Url(models.Model):
  url = models.URLField("URL", max_length=200)

L'application de l'Administrateur donne un 'select' de la boîte pour les URLs, ce qui n'est pas ce que je veux. Lorsque j'ajoute une nouvelle vulnérabilité de l'objet, toutes les URLs qui ont été saisies apparaissent dans cette liste, ce qui est encore plus naturel. Je me sens comme cela devrait se comporter de manière très similaire à la manière d'un blog de commentaire, c'est à dire. le commentaire s'applique à une seule entrée de blog et rien d'autre et que, d'une entrée de blog peut avoir plusieurs commentaires. Comment puis-je l'exprimer dans un Django modèle?

Aussi, comme une question de style, il serait préférable d'utiliser Vulnerability comme un nom de table, plutôt que de Vuln - il est plus long, mais au moins, vous ne pensez pas que "Ce que le diable est un vuln" comme je l'ai fait quand vous le voyez.

OriginalL'auteur Dan | 2010-01-11