How i can create Model or form for Django admin that not create table in database ?





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







0















This technique create table in database but i don't want create table into database.



class Email(models.Model):
to = models.EmailField(null = False)
subject = models.CharField(max_length = 255, null = False)
message = models.TextField(max_length = 555, null = False,)

class EmailAdmin(admin.ModelAdmin):
list_display = ('to','subject','message',)

#Here i can send emails to users.
def save_model(self, request, obj, form, change):
#I commented this line because i don't want to store this model into database.
#super(MyAdminView, self).save_model(request, obj, form, change)


admin.site.register(Email,EmailAdmin)


Any other way to solve this problem ?










share|improve this question





























    0















    This technique create table in database but i don't want create table into database.



    class Email(models.Model):
    to = models.EmailField(null = False)
    subject = models.CharField(max_length = 255, null = False)
    message = models.TextField(max_length = 555, null = False,)

    class EmailAdmin(admin.ModelAdmin):
    list_display = ('to','subject','message',)

    #Here i can send emails to users.
    def save_model(self, request, obj, form, change):
    #I commented this line because i don't want to store this model into database.
    #super(MyAdminView, self).save_model(request, obj, form, change)


    admin.site.register(Email,EmailAdmin)


    Any other way to solve this problem ?










    share|improve this question

























      0












      0








      0








      This technique create table in database but i don't want create table into database.



      class Email(models.Model):
      to = models.EmailField(null = False)
      subject = models.CharField(max_length = 255, null = False)
      message = models.TextField(max_length = 555, null = False,)

      class EmailAdmin(admin.ModelAdmin):
      list_display = ('to','subject','message',)

      #Here i can send emails to users.
      def save_model(self, request, obj, form, change):
      #I commented this line because i don't want to store this model into database.
      #super(MyAdminView, self).save_model(request, obj, form, change)


      admin.site.register(Email,EmailAdmin)


      Any other way to solve this problem ?










      share|improve this question














      This technique create table in database but i don't want create table into database.



      class Email(models.Model):
      to = models.EmailField(null = False)
      subject = models.CharField(max_length = 255, null = False)
      message = models.TextField(max_length = 555, null = False,)

      class EmailAdmin(admin.ModelAdmin):
      list_display = ('to','subject','message',)

      #Here i can send emails to users.
      def save_model(self, request, obj, form, change):
      #I commented this line because i don't want to store this model into database.
      #super(MyAdminView, self).save_model(request, obj, form, change)


      admin.site.register(Email,EmailAdmin)


      Any other way to solve this problem ?







      django django-models django-forms django-database






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 29 '18 at 5:21









      TimmaTimma

      8829




      8829
























          1 Answer
          1






          active

          oldest

          votes


















          0














          It looks like you need to add new admin urls with your own customized form, view and template:



          from django.core.mail import send_mail


          class EmailForm(forms.Form):
          subject = forms.CharField()
          message = forms.CharField()
          to = forms.EmailField()

          def send_email(self):
          send_mail(
          self.cleaned_data.get('subject'),
          self.cleaned_data.get('message'),
          'from@example.com',
          [self.cleaned_data.get('to')],
          fail_silently=False,
          )

          class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
          def get_urls(self):
          urls = super().get_urls()
          my_urls = [
          path('my_view/', self.my_view),
          ]
          return my_urls + urls

          def my_view(self, request):
          if request.method == "GET":
          return render(request, 'template.html', {'form': EmailForm()}
          else:
          form = EmailForm(request.POST)
          if form.is_valid():
          form.send_email()
          # rest of your view
          # Template

          {% extends "admin/base_site.html" %}
          {% block content %}
          <form method="post">
          {% csrf_token %}
          {{ form.as_p }}
          </form>
          {% endblock %}


          Please see the documentation available in here.






          share|improve this answer


























          • But i don't want to create table in database. I need only model fields to get data and send email.

            – Timma
            Nov 29 '18 at 5:45











          • @FaizanFareed please see my updated answer

            – ruddra
            Nov 29 '18 at 5:57











          • how i can access this form in admin ?

            – Timma
            Nov 30 '18 at 6:47











          • it should be available at /admin/myapp/mymodel/my_view/

            – ruddra
            Nov 30 '18 at 10:29











          • page not found 404 error occurred.

            – Timma
            Nov 30 '18 at 16:50














          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%2f53532341%2fhow-i-can-create-model-or-form-for-django-admin-that-not-create-table-in-databas%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          It looks like you need to add new admin urls with your own customized form, view and template:



          from django.core.mail import send_mail


          class EmailForm(forms.Form):
          subject = forms.CharField()
          message = forms.CharField()
          to = forms.EmailField()

          def send_email(self):
          send_mail(
          self.cleaned_data.get('subject'),
          self.cleaned_data.get('message'),
          'from@example.com',
          [self.cleaned_data.get('to')],
          fail_silently=False,
          )

          class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
          def get_urls(self):
          urls = super().get_urls()
          my_urls = [
          path('my_view/', self.my_view),
          ]
          return my_urls + urls

          def my_view(self, request):
          if request.method == "GET":
          return render(request, 'template.html', {'form': EmailForm()}
          else:
          form = EmailForm(request.POST)
          if form.is_valid():
          form.send_email()
          # rest of your view
          # Template

          {% extends "admin/base_site.html" %}
          {% block content %}
          <form method="post">
          {% csrf_token %}
          {{ form.as_p }}
          </form>
          {% endblock %}


          Please see the documentation available in here.






          share|improve this answer


























          • But i don't want to create table in database. I need only model fields to get data and send email.

            – Timma
            Nov 29 '18 at 5:45











          • @FaizanFareed please see my updated answer

            – ruddra
            Nov 29 '18 at 5:57











          • how i can access this form in admin ?

            – Timma
            Nov 30 '18 at 6:47











          • it should be available at /admin/myapp/mymodel/my_view/

            – ruddra
            Nov 30 '18 at 10:29











          • page not found 404 error occurred.

            – Timma
            Nov 30 '18 at 16:50


















          0














          It looks like you need to add new admin urls with your own customized form, view and template:



          from django.core.mail import send_mail


          class EmailForm(forms.Form):
          subject = forms.CharField()
          message = forms.CharField()
          to = forms.EmailField()

          def send_email(self):
          send_mail(
          self.cleaned_data.get('subject'),
          self.cleaned_data.get('message'),
          'from@example.com',
          [self.cleaned_data.get('to')],
          fail_silently=False,
          )

          class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
          def get_urls(self):
          urls = super().get_urls()
          my_urls = [
          path('my_view/', self.my_view),
          ]
          return my_urls + urls

          def my_view(self, request):
          if request.method == "GET":
          return render(request, 'template.html', {'form': EmailForm()}
          else:
          form = EmailForm(request.POST)
          if form.is_valid():
          form.send_email()
          # rest of your view
          # Template

          {% extends "admin/base_site.html" %}
          {% block content %}
          <form method="post">
          {% csrf_token %}
          {{ form.as_p }}
          </form>
          {% endblock %}


          Please see the documentation available in here.






          share|improve this answer


























          • But i don't want to create table in database. I need only model fields to get data and send email.

            – Timma
            Nov 29 '18 at 5:45











          • @FaizanFareed please see my updated answer

            – ruddra
            Nov 29 '18 at 5:57











          • how i can access this form in admin ?

            – Timma
            Nov 30 '18 at 6:47











          • it should be available at /admin/myapp/mymodel/my_view/

            – ruddra
            Nov 30 '18 at 10:29











          • page not found 404 error occurred.

            – Timma
            Nov 30 '18 at 16:50
















          0












          0








          0







          It looks like you need to add new admin urls with your own customized form, view and template:



          from django.core.mail import send_mail


          class EmailForm(forms.Form):
          subject = forms.CharField()
          message = forms.CharField()
          to = forms.EmailField()

          def send_email(self):
          send_mail(
          self.cleaned_data.get('subject'),
          self.cleaned_data.get('message'),
          'from@example.com',
          [self.cleaned_data.get('to')],
          fail_silently=False,
          )

          class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
          def get_urls(self):
          urls = super().get_urls()
          my_urls = [
          path('my_view/', self.my_view),
          ]
          return my_urls + urls

          def my_view(self, request):
          if request.method == "GET":
          return render(request, 'template.html', {'form': EmailForm()}
          else:
          form = EmailForm(request.POST)
          if form.is_valid():
          form.send_email()
          # rest of your view
          # Template

          {% extends "admin/base_site.html" %}
          {% block content %}
          <form method="post">
          {% csrf_token %}
          {{ form.as_p }}
          </form>
          {% endblock %}


          Please see the documentation available in here.






          share|improve this answer















          It looks like you need to add new admin urls with your own customized form, view and template:



          from django.core.mail import send_mail


          class EmailForm(forms.Form):
          subject = forms.CharField()
          message = forms.CharField()
          to = forms.EmailField()

          def send_email(self):
          send_mail(
          self.cleaned_data.get('subject'),
          self.cleaned_data.get('message'),
          'from@example.com',
          [self.cleaned_data.get('to')],
          fail_silently=False,
          )

          class SomeAdmin(admin.ModelAdmin): # You need to override an ModelAdmin
          def get_urls(self):
          urls = super().get_urls()
          my_urls = [
          path('my_view/', self.my_view),
          ]
          return my_urls + urls

          def my_view(self, request):
          if request.method == "GET":
          return render(request, 'template.html', {'form': EmailForm()}
          else:
          form = EmailForm(request.POST)
          if form.is_valid():
          form.send_email()
          # rest of your view
          # Template

          {% extends "admin/base_site.html" %}
          {% block content %}
          <form method="post">
          {% csrf_token %}
          {{ form.as_p }}
          </form>
          {% endblock %}


          Please see the documentation available in here.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 29 '18 at 5:57

























          answered Nov 29 '18 at 5:36









          ruddraruddra

          16.5k42951




          16.5k42951













          • But i don't want to create table in database. I need only model fields to get data and send email.

            – Timma
            Nov 29 '18 at 5:45











          • @FaizanFareed please see my updated answer

            – ruddra
            Nov 29 '18 at 5:57











          • how i can access this form in admin ?

            – Timma
            Nov 30 '18 at 6:47











          • it should be available at /admin/myapp/mymodel/my_view/

            – ruddra
            Nov 30 '18 at 10:29











          • page not found 404 error occurred.

            – Timma
            Nov 30 '18 at 16:50





















          • But i don't want to create table in database. I need only model fields to get data and send email.

            – Timma
            Nov 29 '18 at 5:45











          • @FaizanFareed please see my updated answer

            – ruddra
            Nov 29 '18 at 5:57











          • how i can access this form in admin ?

            – Timma
            Nov 30 '18 at 6:47











          • it should be available at /admin/myapp/mymodel/my_view/

            – ruddra
            Nov 30 '18 at 10:29











          • page not found 404 error occurred.

            – Timma
            Nov 30 '18 at 16:50



















          But i don't want to create table in database. I need only model fields to get data and send email.

          – Timma
          Nov 29 '18 at 5:45





          But i don't want to create table in database. I need only model fields to get data and send email.

          – Timma
          Nov 29 '18 at 5:45













          @FaizanFareed please see my updated answer

          – ruddra
          Nov 29 '18 at 5:57





          @FaizanFareed please see my updated answer

          – ruddra
          Nov 29 '18 at 5:57













          how i can access this form in admin ?

          – Timma
          Nov 30 '18 at 6:47





          how i can access this form in admin ?

          – Timma
          Nov 30 '18 at 6:47













          it should be available at /admin/myapp/mymodel/my_view/

          – ruddra
          Nov 30 '18 at 10:29





          it should be available at /admin/myapp/mymodel/my_view/

          – ruddra
          Nov 30 '18 at 10:29













          page not found 404 error occurred.

          – Timma
          Nov 30 '18 at 16:50







          page not found 404 error occurred.

          – Timma
          Nov 30 '18 at 16:50






















          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%2f53532341%2fhow-i-can-create-model-or-form-for-django-admin-that-not-create-table-in-databas%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

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

          Calculate evaluation metrics using cross_val_predict sklearn

          Insert data from modal to MySQL (multiple modal on website)