django model field check instance





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







2















I have a models like



class MyModel(models.Model):
name = models.CharField()
updated_on = models.DateTimeField()


Now I am querying this like



m = MyModel.objets.get(id=2)


Here I want to check if the field is of certain type I want to do some stuff like



from django.db.models import DateTimeField

if isinstance(m.updated_on, DateTimeField):
// do something


But here I am getting false.
Is there any workaround by which I can achieve this ??










share|improve this question























  • Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

    – Stephen Rauch
    Jan 4 at 6:39













  • You can query the class of the object, but that does not make sense since the type will not change.

    – Klaus D.
    Jan 4 at 6:40


















2















I have a models like



class MyModel(models.Model):
name = models.CharField()
updated_on = models.DateTimeField()


Now I am querying this like



m = MyModel.objets.get(id=2)


Here I want to check if the field is of certain type I want to do some stuff like



from django.db.models import DateTimeField

if isinstance(m.updated_on, DateTimeField):
// do something


But here I am getting false.
Is there any workaround by which I can achieve this ??










share|improve this question























  • Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

    – Stephen Rauch
    Jan 4 at 6:39













  • You can query the class of the object, but that does not make sense since the type will not change.

    – Klaus D.
    Jan 4 at 6:40














2












2








2








I have a models like



class MyModel(models.Model):
name = models.CharField()
updated_on = models.DateTimeField()


Now I am querying this like



m = MyModel.objets.get(id=2)


Here I want to check if the field is of certain type I want to do some stuff like



from django.db.models import DateTimeField

if isinstance(m.updated_on, DateTimeField):
// do something


But here I am getting false.
Is there any workaround by which I can achieve this ??










share|improve this question














I have a models like



class MyModel(models.Model):
name = models.CharField()
updated_on = models.DateTimeField()


Now I am querying this like



m = MyModel.objets.get(id=2)


Here I want to check if the field is of certain type I want to do some stuff like



from django.db.models import DateTimeField

if isinstance(m.updated_on, DateTimeField):
// do something


But here I am getting false.
Is there any workaround by which I can achieve this ??







python django django-models






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 4 at 6:35









aryanaryan

1,76072663




1,76072663













  • Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

    – Stephen Rauch
    Jan 4 at 6:39













  • You can query the class of the object, but that does not make sense since the type will not change.

    – Klaus D.
    Jan 4 at 6:40



















  • Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

    – Stephen Rauch
    Jan 4 at 6:39













  • You can query the class of the object, but that does not make sense since the type will not change.

    – Klaus D.
    Jan 4 at 6:40

















Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

– Stephen Rauch
Jan 4 at 6:39







Meta Classes... Very confusing. :-) After instantiation, updated_on is not a DateTimeField. it is a datetime.datetime. see: docs.djangoproject.com/en/2.1/ref/forms/fields/…

– Stephen Rauch
Jan 4 at 6:39















You can query the class of the object, but that does not make sense since the type will not change.

– Klaus D.
Jan 4 at 6:40





You can query the class of the object, but that does not make sense since the type will not change.

– Klaus D.
Jan 4 at 6:40












2 Answers
2






active

oldest

votes


















2














To get the type of field:
Model._meta.get_field("fieldname")



You can use this:



from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...






share|improve this answer
























  • Thats what I was looking for.... Cheers and thank you

    – aryan
    Jan 4 at 6:51



















0














I don't know why the data in the field would be anything other than what you have defined it as.



But your problem is that the type of the field is not the same as the type of the data, and it's the latter you care about. The type of data in a DateTimeField is datetime.datetime.



So:



from datetime import datetime
if isinstance(m.updated_on, datetime):
...





share|improve this answer
























  • The OP probably wants to write a generic mechanism using introspection.

    – Selcuk
    Jan 4 at 6:42











  • @DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

    – aryan
    Jan 4 at 6:49












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%2f54034100%2fdjango-model-field-check-instance%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














To get the type of field:
Model._meta.get_field("fieldname")



You can use this:



from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...






share|improve this answer
























  • Thats what I was looking for.... Cheers and thank you

    – aryan
    Jan 4 at 6:51
















2














To get the type of field:
Model._meta.get_field("fieldname")



You can use this:



from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...






share|improve this answer
























  • Thats what I was looking for.... Cheers and thank you

    – aryan
    Jan 4 at 6:51














2












2








2







To get the type of field:
Model._meta.get_field("fieldname")



You can use this:



from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...






share|improve this answer













To get the type of field:
Model._meta.get_field("fieldname")



You can use this:



from django.db.models import DateTimeField
if isinstance(MyModel._meta.get_field('updated_on'),DateTimeField):
...







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 4 at 6:47









Deepam PatelDeepam Patel

1015




1015













  • Thats what I was looking for.... Cheers and thank you

    – aryan
    Jan 4 at 6:51



















  • Thats what I was looking for.... Cheers and thank you

    – aryan
    Jan 4 at 6:51

















Thats what I was looking for.... Cheers and thank you

– aryan
Jan 4 at 6:51





Thats what I was looking for.... Cheers and thank you

– aryan
Jan 4 at 6:51













0














I don't know why the data in the field would be anything other than what you have defined it as.



But your problem is that the type of the field is not the same as the type of the data, and it's the latter you care about. The type of data in a DateTimeField is datetime.datetime.



So:



from datetime import datetime
if isinstance(m.updated_on, datetime):
...





share|improve this answer
























  • The OP probably wants to write a generic mechanism using introspection.

    – Selcuk
    Jan 4 at 6:42











  • @DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

    – aryan
    Jan 4 at 6:49
















0














I don't know why the data in the field would be anything other than what you have defined it as.



But your problem is that the type of the field is not the same as the type of the data, and it's the latter you care about. The type of data in a DateTimeField is datetime.datetime.



So:



from datetime import datetime
if isinstance(m.updated_on, datetime):
...





share|improve this answer
























  • The OP probably wants to write a generic mechanism using introspection.

    – Selcuk
    Jan 4 at 6:42











  • @DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

    – aryan
    Jan 4 at 6:49














0












0








0







I don't know why the data in the field would be anything other than what you have defined it as.



But your problem is that the type of the field is not the same as the type of the data, and it's the latter you care about. The type of data in a DateTimeField is datetime.datetime.



So:



from datetime import datetime
if isinstance(m.updated_on, datetime):
...





share|improve this answer













I don't know why the data in the field would be anything other than what you have defined it as.



But your problem is that the type of the field is not the same as the type of the data, and it's the latter you care about. The type of data in a DateTimeField is datetime.datetime.



So:



from datetime import datetime
if isinstance(m.updated_on, datetime):
...






share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 4 at 6:39









Daniel RosemanDaniel Roseman

460k42597655




460k42597655













  • The OP probably wants to write a generic mechanism using introspection.

    – Selcuk
    Jan 4 at 6:42











  • @DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

    – aryan
    Jan 4 at 6:49



















  • The OP probably wants to write a generic mechanism using introspection.

    – Selcuk
    Jan 4 at 6:42











  • @DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

    – aryan
    Jan 4 at 6:49

















The OP probably wants to write a generic mechanism using introspection.

– Selcuk
Jan 4 at 6:42





The OP probably wants to write a generic mechanism using introspection.

– Selcuk
Jan 4 at 6:42













@DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

– aryan
Jan 4 at 6:49





@DanielRoseman I just dont want to check for datetime. Lets say its FileField. If it is instance of file field I want to return url of the field.

– aryan
Jan 4 at 6:49


















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%2f54034100%2fdjango-model-field-check-instance%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

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas