Get json data from url and insert data into the model with verification
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
add a comment |
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
Have you analized the return value ofAcceptor.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
Issync_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 thedefaultskwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, isr.logina valid value? (Should it ber['login']?) And is there an error message or failing silently?
– birophilo
Jan 1 at 2:58
add a comment |
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
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
python django
asked Dec 30 '18 at 14:13
kenzokenzo
154
154
Have you analized the return value ofAcceptor.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
Issync_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 thedefaultskwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, isr.logina valid value? (Should it ber['login']?) And is there an error message or failing silently?
– birophilo
Jan 1 at 2:58
add a comment |
Have you analized the return value ofAcceptor.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
Issync_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 thedefaultskwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, isr.logina valid value? (Should it ber['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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 thedefaultskwarg. update_or_create in docs. Also, what is the format of the items in 'acceptor_list'? For example, isr.logina valid value? (Should it ber['login']?) And is there an error message or failing silently?– birophilo
Jan 1 at 2:58