2010-12-26 2 views

Répondre

2

Il vous suffit de définir vos variables d'environnement PYTHONPATH et DJANGO_SETTINGS_MODULE avant d'appeler l'interpréteur python. A partir de là, vous pouvez importer vos modèles, appeler leurs méthodes, etc ...

export PYTHONPATH="...include your site's apps path..." 
export DJANGO_SETTINGS_MODULE="mysite.settings" 
python 
>>> from myapp.models import MyModel 
>>> MyModel.objects.all() 
... 
+0

Merci beaucoup! Que faire si j'ai plusieurs projets? Est-il nécessaire de créer un utilisateur dédié pour chaque projet Django? – RadiantHex

+0

J'imagine que c'est à vous de décider comment organiser vos comptes utilisateurs, si vos projets utilisent la même base de données utilisateur ou des bases de données distinctes, si vos applications requièrent des permissions spécifiques, etc. Si vous voulez utiliser un seul partage compte d'utilisateur à cet effet, il est également possible (si vos projets partagent la base de données pour les comptes d'utilisateurs et les autorisations). –

+0

ne fonctionne pas :(Je reçois quelques erreurs d'importation de fichiers models.py dans mon application – RadiantHex

2

La plupart de mes scripts commandline (et Cron) ressemble à quelque chose comme:

#!/usr/bin/env python 

from django.core.management import setup_environ 
import settings 
setup_environ(settings) 
from django.db import transaction 

... code ... 

# you need to do the followng before exit if you did any DB changes. 
transaction.commit_unless_managed() 

Mise à jour pour les commentaires:

Si vous avez effectué des modifications/autres changements, alors ma réponse (peut-être un peu obsolète) est Oui. Je ne sais pas si c'est encore nécessaire dans la dernière version stable, mais je suis une sorte de ceinture-et-bretelles quand il s'agit de ma base de données. Je vois transaction.commit_unless_managed() à la fin de mes scripts comme une sorte de filet de sécurité: Si le mode géré est en vigueur, alors c'est un NOP, si n'est pas alors cela s'assure que la validation a lieu.

+0

merci la transaction est-elle aussi nécessaire si j'utilise l'ORM de Django? – RadiantHex