![](/img/trans.png)
[英]In django, how can I link a model with a user. I'd like the user to add information about their company website and name
[英]How can I fix my Django model to store multiple lists of strings inputted by the user. Which can then be retrieved in the future as an object?
我正在嘗試制作這個簡單的應用程序來檢索用戶輸入的字符串列表,然后將其存儲在 object 中。 這個想法是讓用戶為他們喜歡的每種類型創建一個電影列表。 一種“用戶創建的詞典”的說法......
就像在 Python 中一樣:
UserMovies = {
Scary : ['A','B','C'],
Funny : ['D'],
Sad : ['E','F],
Thriller : ['G','H','I','J']
}
使用上面的示例,理想的Model.py
將在列表中存儲用戶創建的字典鍵,然后存儲鍵的值。
我試圖在我的 Django model 中復制相同的內容,但我不確定如何創建將數據存儲在列表中的多對多關系。
編輯:我做了新的更正,這是最新的 model。
class UserGenres(models.Model):
username = models.ForeignKey(UserModel.username)
genre = models.ManyToManyField(models.CharField(max_length=1000))
def __str__(self):
return self.genre
class TotalGenre(models.Model):
username = models.ForeignKey(UserGenres.user)
total_Genre = models.IntegerField(blank=True, null=True)
def total_genre(self):
self.total_genre = UserGenre.objects.aggregate(Sum('genre', distinct=True))
self.save()
class Movies(models.Model):
owner = models.ManyToManyField(UserGenre.user)
genre = models.ManyToManyField(UserGenre.genre)
movies = ArrayField(models.CharField(choices=MOVIES))
number_of_movies = models.IntegerField(blank=True, null=True)
def total_movies(self):
self.number_of_movies = Movies.objects.aggregate(Sum('number_of_movies ', distinct=True))
self.save()
def __str__(self):
return self.movies
我正在努力為每個用戶存儲類型,包括類型中的電影。 所有這些都是一個 CRUD 應用程序。 鑒於信息,構建 model 的最佳方法是什么? 目前正在努力解決這個問題。
會是這樣的, 閱讀
#https://docs.djangoproject.com/en/3.1/ref/models/fields/#manytomanyfield
class Genre(models.Model):
title = models.TextChoices(max_length=1000, choices=IMDBmoviesTuple)
class UserGenres(models.Model):
user = models.ForeignKey(UserModel.username)
genres = models.ManyToManyField(max_length=1000) #this will be array
class Movie(models.Model):
#movie name etc
genre = models.ManyToManyField(max_length=1000) #many to many, one movie can be of many genres
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.