2010-08-24 4 views
2

Je suis essentiellement la création d'une application de blog dans django comme un moyen d'apprendre les ficelles du métier et de renforcer mon niveau de compétence dans django. J'ai fondamentalement une relation many-to-many avec laquelle j'ai des problèmes avec le site d'administration. J'ai deux types principaux, Article et ArticleTag. De nombreux articles peuvent appartenir à de nombreux articles, et la relation doit être bidirectionnelle afin de pouvoir "suivre" la relation de chaque côté. Le problème que j'ai est que dans le panneau d'administration, quand je vais créer un nouvel article, il ne me permettra pas de créer un nouvel article sans créer un nouvel ArticleTag, qui ne peut pas être créé sans créer un nouvel article, etc. Comment puis-je les faire fonctionner correctement et être optionnel? Aussi, existe-t-il un moyen assez simple de créer un contrôle pour faciliter le marquage selon le débordement de pile ou delicious.com? Je suis assez nouveau dans le système d'administration :)Django problème plusieurs-à-plusieurs dans l'administration

Répondre

3

Vous avez oublié de préciser blank=True dans votre ManyToManyField déclaration:

class Article(models.Model): 
    tags = models.ManyToManyField(ArticleTag, blank=True, 
     related_name="articles") 

Aussi, est-il un moyen assez facile de créer un contrôle pour faciliter le marquage selon pile débordement ou delicious.com?

Il n'y a rien de intégré, mais il existe plusieurs bibliothèques complémentaires pour Django qui effectuent le balisage. L'un d'entre eux pourrait répondre à vos besoins.

+0

Résolu! Merci beaucoup. Connaissez-vous un éditeur spécifique pour les tags que je peux simplement brancher sur la page d'administration? J'ai juste besoin d'un champ de texte qui fournit une suggestion automatique, etc. –

+0

Désolé, non, je n'ai pas tellement piraté l'administrateur lui-même. Encore une fois, vous pourriez vouloir regarder les différentes extensions de marquage là-bas et voir comment ils le font. –

+0

Merci beaucoup :) –