2017-10-19 10 views
0

Je suis nouveau dans le framework django. J'analysé les données de serveur WebAPI à dict:Insérer des données dans sqlite3 - python - django

clé est buys de produits et de valeur est la liste qui contient des informations sur le produit. Code:

def get_best_products(self): 
    dict_of_items = {} 

    for x in range (0, self.max_range): 
     itemId = self.fresh_data.item[x].itemId 
     itemTitle = self.fresh_data.item[x].itemTitle 
     photoUrl = self._get_main_item_photo(x) 
     itemPrice = self._get_item_price(x) 

     dict_of_items[self.fresh_data.item[x].bidsCount] = [itemId, itemTitle, itemPrice, photoUrl] 

    return self._sort_parsed_item_data(dict_of_items) 

def _sort_parsed_item_data(self, data): 
    return OrderedDict(sorted(data.items(), reverse=True, key=lambda t: t[0])) 

Donc, j'ai dict des articles triés par produit achète avec l'information comme valeur.

Quelle est la meilleure façon de mettre ces données dans la base de données? Devrais-je construire un modèle? Et si oui comment le faire? des conseils? Sur Internet je peux trouver des exemples de modèles qui permettent d'éditer des données ... ou "comment construire l'enregistrement du courrier".

Je veux faire un modèle qui montre toutes les données dans une table de toutes les ventes aux enchères, mais je ne veux pas ajouter plus. Je veux avoir seulement 100 enregistrements et ils seront mis à jour quand un achat change. (et peut-être plus tard quand je construirai cette table que j'essaierai de faire ... disons que vous cliquez sur "itemID" cela vous amènera à modifier le gestionnaire, où vous pouvez changer ce que vous voulez à propos de cet enregistrement spécyfic).

Est-il possible de faire avec django? ou si je veux mettre à jour juste 100 dossiers sans changement je devrais employer juste des commandes de SQL, parce qu'il semble être plus facile? Tous les exemples que j'ai vu permettent d'éditer des données et d'ajouter des données .... je veux l'empêcher pour le moment.

Mais .... Suis-je autorisé à "jouer" avec la base de données sans les modèles django lorsque j'utilise ce framework? C'est la question principale

Répondre

0

La meilleure façon d'utiliser Django est d'utiliser les modèles, fondamentalement Django fonctionne sur base de quelque chose appelé ORM, Object-Relational mapping, qui vous permet de travailler avec des bases de données utilisant des modèles. Pour plus d'informations sur la façon de l'utiliser lu la documentation Django fournir dans ce tutoriel https://docs.djangoproject.com/en/1.11/intro/tutorial01/

+0

Je veux base de données avec 100 dossiers préremplis, où et comment dois-je faire cette fonction? J'ai créé mon modèle en fait je peux ajouter des articles par shell ou par le panneau d'administration. Comme je l'ai dit je veux pré-remplir 100 enregistrements avec préparé dans les valeurs par défaut du modèle, puis créer une autre fonction qui absorbe ces 100 enregistrements avec des données préparées. Mais où devrais-je créer ces fonctions? et comment l'exécuter automatiquement? disons quand some1 entre dans la page –

+0

@chacken votre question est trop large, mais oui est beaucoup mieux si vous utilisez raw sql et ne pose pas de problème si vous l'utilisez. Je recommande de lire d'abord le tutoriel Django pour pouvoir mettre en place vos fonctions –