Revisão_teste
Revisão_teste
E N D
Presentation Transcript
Sumário Conteúdo do Teste O que deve conhecer muito bem para passar o Teste Instruções adicionais A relembrar
Conteúdo do Teste O teste Vaz ser com documentação Aberta, Você podem reusar os códigos previamente escritos nas aulas praticas. Um exercício de Django tipicamente semelhante ao que fizemos nas 3 aulas de Django: • Uma tabela UML a ser traduzida pelo DjangoModels. • Instruções básicas de CRUD: Criar, armazenar, remover,… • Linguagem de templates com um pouco de CSS. • Criando formulários a partir de modelos • Criar hyperlink pelo outa pagina
Campos de relação • Existemtrêstipos de relação • One-to-One: porexemplo, se EmailAccount é uma nova entidade, então • Um UtilizadorteráumasóEmailAccount • Uma EmailAccountserá de um sóutilizador. • One-to-Many: Author-to-Article é um exemplo. • Um autor pode ter nenhum artigo, um artigo ou vários artigos; um artigo tem um e único autor (neste design que não considera a situação de coautor) • Many-to-Many: User-follow-User. • Um utilizador pode seguir nenhum utilizador, ou seguir um ou muitos utilizadores; um utilizador pode não ter seguidor, ou pode ter um ou muitos seguidor. They can be represented in the database as:
Campos de relação • Podem ser representados na base de dados como: • One-to-One: Uma chave estrangeira única, não nula de A a B ou de B a AOne-to-Many: Uma chave estrangeira não única, não nula de B a AMany-to-Many: Define another relationship table. Cada linha desta tabela tem pelo menos duas colunas, sendo uma uma chave estrangeira não única, não nula para A e a outra uma chave estrangeira não única, não nula para B. • Em Django, há campos embutidos para estas relações: • Um a um: Use OneToOneField Um a muitos: Use ForeignKey Muitos para Muitos: Use ManyToManyField
Instruções básicas de CRUD (A rever com exemplos nas slides Django_1) Métodos que retornam QuerySets • class.objects.all() • class.objects.exclude(**kwargs) • class.objects.filter(**kwargs) • class.objects.order_by(*fields) Métodos que não retornam QuerySets • class.objects.create(**kwargs) • class.objects.exists() • class.objects.get(**kwargs) • Model.pk • Model.delete() • Model.save()
Configuração ficha de estilo css externa https://www.youtube.com/watch?v=1PnVor36_40&ab_channel=WebDevSimplified
A aplicação Flight desenvolvida na aula • Vau ponho outro vês os códigos no moodle na aula da Teste da 26 de outubro.
Mais Importante…. • Vau criar duas links de reunião Zoom terça-feira e quarta-para esclarecer a vossas duvidas si há. • O teste Vaz ser com documentação Aberta, Você podem reusar os códigos previamente escritos nas aulas praticas.
Related_name do ForeignKey Solution Se Livros tiver uma ForeignKey para Seções, o Django criará automaticamente um relacionamento reverso de Seções para Livros, que será chamado de books_set. Este é um gerente, o que significa que você pode usar .filter(), .get() e .count() nele - e você pode usá-los em seu modelo. {{ sec.books_set.count }} (A propósito, você deve usar substantivos no singular para os nomes dos seus modelos, não plurais - Livro em vez de Livros. Uma instância desse modelo contém informações de um livro, não de muitos.)
Outra Ponto … Você pode obter um objeto por qualquer um dos campos do modelo. Supondo que você tenha um campo chamado título em seu modelo Stock e que esteja passando o título para sua visualização. stocks_data = get_object_or_404(Estoque, título=título) Esteja ciente de que se você estiver obtendo um objeto por um campo que não é único, você receberá um erro: get() retornou mais de um modelo - retornou 54! Neste caso use get_list_or_404(Stock, title=title) que retornará o resultado de .filter().
CriandoFormfrom Model (ModelForm) Criar Modelo Ficheiro form.py https://www.geeksforgeeks.org/django-modelform-create-form-from-models/
CriandoFormfrom Model (ModelForm) View correspondente Ficheiro HTML