Get json data from url and insert data into the model with verification












0















I am using python package requests for getting json data from remote url. Json data should be entered to my model with verification. If object id exists update data in the model else create. I can not make a check. How can i put a check?



This is for getting data from remote url. Data in the remote url will be updated every hour so I have to write a function that needs to take data from the server and insert my model. Also function must to check.
I've tried fooloop json data from server and insert it to my model, but I think this is not the best way.



import requests
from requests.auth import HTTPBasicAuth
from main.models import Acceptor

def sync_data():
response = requests.get('https://94.158.53.183:9443/apipp/acceptors',
auth=HTTPBasicAuth('user', 'password'),
verify=False).json()['acceptor_list']



for r in response:
Acceptor.objects.update_or_create(
login=r.login,
password=r.password,
sync_tm=r.sync_tm
)


sync_data()

class Acceptor(DeleteModel, BaseModel):
login = models.CharField(max_length=255)
password = models.CharField(max_length=255)
sync_tm = models.IntegerField()


I expected the data to appear in my database, in the Acceptors table, but there is no data from the server in the database










share|improve this question























  • Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

    – Ralf
    Dec 30 '18 at 14:19













  • Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

    – birophilo
    Jan 1 at 2:58
















0















I am using python package requests for getting json data from remote url. Json data should be entered to my model with verification. If object id exists update data in the model else create. I can not make a check. How can i put a check?



This is for getting data from remote url. Data in the remote url will be updated every hour so I have to write a function that needs to take data from the server and insert my model. Also function must to check.
I've tried fooloop json data from server and insert it to my model, but I think this is not the best way.



import requests
from requests.auth import HTTPBasicAuth
from main.models import Acceptor

def sync_data():
response = requests.get('https://94.158.53.183:9443/apipp/acceptors',
auth=HTTPBasicAuth('user', 'password'),
verify=False).json()['acceptor_list']



for r in response:
Acceptor.objects.update_or_create(
login=r.login,
password=r.password,
sync_tm=r.sync_tm
)


sync_data()

class Acceptor(DeleteModel, BaseModel):
login = models.CharField(max_length=255)
password = models.CharField(max_length=255)
sync_tm = models.IntegerField()


I expected the data to appear in my database, in the Acceptors table, but there is no data from the server in the database










share|improve this question























  • Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

    – Ralf
    Dec 30 '18 at 14:19













  • Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

    – birophilo
    Jan 1 at 2:58














0












0








0








I am using python package requests for getting json data from remote url. Json data should be entered to my model with verification. If object id exists update data in the model else create. I can not make a check. How can i put a check?



This is for getting data from remote url. Data in the remote url will be updated every hour so I have to write a function that needs to take data from the server and insert my model. Also function must to check.
I've tried fooloop json data from server and insert it to my model, but I think this is not the best way.



import requests
from requests.auth import HTTPBasicAuth
from main.models import Acceptor

def sync_data():
response = requests.get('https://94.158.53.183:9443/apipp/acceptors',
auth=HTTPBasicAuth('user', 'password'),
verify=False).json()['acceptor_list']



for r in response:
Acceptor.objects.update_or_create(
login=r.login,
password=r.password,
sync_tm=r.sync_tm
)


sync_data()

class Acceptor(DeleteModel, BaseModel):
login = models.CharField(max_length=255)
password = models.CharField(max_length=255)
sync_tm = models.IntegerField()


I expected the data to appear in my database, in the Acceptors table, but there is no data from the server in the database










share|improve this question














I am using python package requests for getting json data from remote url. Json data should be entered to my model with verification. If object id exists update data in the model else create. I can not make a check. How can i put a check?



This is for getting data from remote url. Data in the remote url will be updated every hour so I have to write a function that needs to take data from the server and insert my model. Also function must to check.
I've tried fooloop json data from server and insert it to my model, but I think this is not the best way.



import requests
from requests.auth import HTTPBasicAuth
from main.models import Acceptor

def sync_data():
response = requests.get('https://94.158.53.183:9443/apipp/acceptors',
auth=HTTPBasicAuth('user', 'password'),
verify=False).json()['acceptor_list']



for r in response:
Acceptor.objects.update_or_create(
login=r.login,
password=r.password,
sync_tm=r.sync_tm
)


sync_data()

class Acceptor(DeleteModel, BaseModel):
login = models.CharField(max_length=255)
password = models.CharField(max_length=255)
sync_tm = models.IntegerField()


I expected the data to appear in my database, in the Acceptors table, but there is no data from the server in the database







python django






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Dec 30 '18 at 14:13









kenzokenzo

154




154













  • Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

    – Ralf
    Dec 30 '18 at 14:19













  • Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

    – birophilo
    Jan 1 at 2:58



















  • Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

    – Ralf
    Dec 30 '18 at 14:19













  • Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

    – birophilo
    Jan 1 at 2:58

















Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

– Ralf
Dec 30 '18 at 14:19







Have you analized the return value of Acceptor.objects.update_or_create() ? It returns an object and a flag (to indicate if it is a new object). Maybe you could print that return value inside the for-loop

– Ralf
Dec 30 '18 at 14:19















Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

– birophilo
Jan 1 at 2:58





Is sync_data() just intended to populate the database with initial values (rather than update them too?). If you want to update fields you'll need to use the defaults kwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, is r.login a valid value? (Should it be r['login']?) And is there an error message or failing silently?

– birophilo
Jan 1 at 2:58












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53978322%2fget-json-data-from-url-and-insert-data-into-the-model-with-verification%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53978322%2fget-json-data-from-url-and-insert-data-into-the-model-with-verification%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Mossoró

Error while reading .h5 file using the rhdf5 package in R

Pushsharp Apns notification error: 'InvalidToken'