2013-03-02 6 views
0

Моего models.py являетсядобавления данных в базу данных из двух моделей дифф

class Book(models.Model): 
    book_name=models.CharField(max_length=30) 
    author_name=models.CharField(max_length=30) 
    publisher_name=models.CharField(max_length=40) 
    author=models.ForeignKey(Author) 

    def __unicode__(self): 
     .......... 

class Author(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=40) 
    email = models.EmailField() 
    age=models.IntegerField() 

    def __unicode__(self): 
     ........ 

    def books(self): 
     return Book.objects.filter(author=self) 

Мне нужно выполнить вставку данных в базу данных из двух разных моделей. Мне нужен view.py образец, потому что я использую код, который работает неправильно. Пожалуйста, помогите мне с этим. Я использую Django.I я использую в качестве автора fireign ключа, который должен устанавливаться автоматически, что тоже не Происходило

+1

вас снова, что вам действительно нужно? – catherine

+1

Объясните нам, что вам нужно, чтобы мы могли понять. Не создавайте еще один такой же вопрос. – catherine

+0

Я хочу добавить данные (ввести данные) в базу данных, используя функцию в views.py.since, поскольку я использую две таблицы, которые не могут добавлять (обновлять) данные в таблицу из храмов, используя метод POST.need views.py для вышеописанного models.py для добавления таких данных, как book_name, author_name и т. д. в таблицу.Plz помогите мне, я начинаю эту структуру в компании в период обучения, поэтому PLZ – user2086641

ответ

0
def add_author(request): 
    if request.method == 'POST': 
     fname = request.POST.get('fname') 
     lname = request.POST.get('lname') 
     email = request.POST.get('email') 
     age = request.POST.get('age') 

     author = Author(
      first_name = fname, 
      last_name = lname, 
      email=email, 
      age=age 
      ) 
     new_author = author.save() 

     book = request.POST.get('book') 
     publisher = request.POST.get('publisher') 

     fullname = "{0} {1}".format(new_author.first_name, 
            new_author.last_name) 

     Book.objects.create(
      book_name=book, 
      author_name=fullname, 
      publisher_name=publisher 
      author = new_author 
      ) 

    return render(request, 'add_author.html') 

add_author.html

<form method="post"> 
    {% csrf_token %} 
    <h5>Author Info: </h5> 
    First name: <input type="text" name="fname"><br/> 
    Last name: <input type="text" name="lname"><br/> 
    Email: <input type="text" name="email"><br/> 
    Age: <input type="text" name="age"><br/> 

    <h5>Book Info: </h5> 
    Name: <input type="text" name="book"><br/> 
    Publisher: <input type="text" name="publisher"><br/> 

    <input type="submit" value="Save"> 
</form> 
+0

вы можете мне помочь код без использования формы, bz my pm, учитывая, что это нужно делать без использования form.my. Фактическое требование состоит в том, чтобы вставить данные в две разные таблицы. – user2086641

+0

Ответ на вопрос – catherine

+0

ответ был выполнен нормально, но данные в классной книге не обновляются. Как это сделать, PLZ – user2086641

Смежные вопросы