Tôi có một câu hỏi liên quan đến mô hình sau. Tôi muốn điền số ManyToManyField
từ views.py thay vì thực hiện nó từ Quản trị viên.Django: Làm thế nào để lưu dữ liệu vào ManyToManyField?
Nhưng làm cách nào để thêm dữ liệu vào trường genres
là ManyToManyField
?
views.py
content = Movie_Info(id = m_id,
title = data[0].get('title'),
overview = data[0].get('overview'),
release_date = data[0].get('release_date'),
)
content.save()
models.py
class Movie_Info_genre(models.Model):
genre = models.CharField(max_length=100)
class Movie_Info(models.Model):
id = models.IntegerField(primary_key=True)
title = models.CharField(max_length=100, blank=True, null=True)
overview = models.TextField(blank=True, null=True)
release_date = models.CharField(max_length=10, blank=True, null=True)
genres = models.ManyToManyField(Movie_Info_genre)
Tư vấn kiểu không liên quan: bằng Python/Django, nó được ưu tiên đặt tên lớp 'MovieInfo' hoặc' MovieInfoGenre' (hoặc chỉ 'MovieGenre' hoặc thậm chí' Genre') thay vì sử dụng dấu gạch dưới ở đó. Ngoài ra, đây có thể là một vấn đề về định dạng SO, nhưng bạn có một số lượng lố bịch vô lý khi tạo 'nội dung'. :) Plus, 'release_date' có thể là' DateField'. – Dougal
@Dougal, cảm ơn lời khuyên. Về thụt đầu dòng, tôi đang sử dụng một plugin cho tôi;) – starcorn
Ngoài ra, không cần trường "id" đặc biệt trong mô hình. Django tự động làm điều đó cho bạn. –